AstroWay Astrology API (full catalogue)
Server Details
Every AstroWay endpoint as a tool: Western, Vedic, Chinese, Human Design, tarot, reports.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 783 tools
Huge swaths of tools are functionally indistinguishable: five numerology systems each ship the identical set of 10 sub-tools, and ~100 'cursor-friendly alias' tools (astroway_helb_*, astroway_numk_*, astroway_psya_*, astroway_vyp_*, etc.) are literal duplicates of fully-qualified names. On top of that, ten Vedic dasha families each expose maha/antar/pratyantar/sookshma/prana variants and three tarot decks expose near-identical spread endpoints, so an agent faces massive overlap and duplicate-name selection everywhere.
The dominant `astroway_<group>_<name>` prefix pattern is fairly readable and mostly consistent. However, it is broken by abbreviated alias namespaces (helb, helg, hels, psya, psyg, psyr, numk, numks, nump, trwd, vd, vyp) and by artifacts like trailing duplicated parameter suffixes (crystals_by_chakra_chakra, rider_waite_numbers_n, angel_numbers_by_life_path_n, rider_waite_suits_suit), producing mixed conventions.
783 tools is an extreme mismatch for any server purpose, far beyond the 3-15 sweet spot and well past the 50+ ceiling. A large fraction of those tools are aliases, deprecated duplicates, or per-sign/per-system permutations of the same operation, so the count reflects sprawl rather than scope.
Coverage of the astrology/esoteric domain is genuinely exhaustive: Western core, Vedic (dashas, vargas, yogas, doshas, KP), Chinese, Human Design, tarot, geomancy, runes, numerology, webhooks and reports. Only minor gaps remain (some placeholder content like the 144-cell Lal Kitab table, deferred Phase Q items, and deprecated endpoints awaiting sunset).
Available Tools
783 toolsastroway_account_statusAccount StatusARead-onlyIdempotentInspect
Check current API key status: tier, credit balance, rate limits, monthly cycle reset. Run this BEFORE invoking expensive endpoints (Tier 4+ at 100+ credits, Tier 6/7 at 500-5000 credits) to confirm the user has budget. Returns plain-text human-readable summary.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint. Description adds that it returns a 'plain-text human-readable summary' and clarifies the budget-checking purpose, providing useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three efficient sentences: purpose, usage guidance, and return format. Front-loaded with key information, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description specifies the return format (plain-text human-readable summary). For a simple status check tool, this is complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters, so schema coverage is 100%. Description does not need to explain parameters, and it adds value by hinting at the output format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Check' and the resource 'API key status' with specific attributes (tier, credit balance, rate limits, monthly cycle reset). It distinguishes itself from the many sibling astrology calculation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to run this tool BEFORE invoking expensive endpoints, providing credit thresholds (Tier 4+ at 100+ credits, Tier 6/7 at 500-5000 credits) to confirm budget.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_agent_toolsAgent tool definitionsBRead-onlyIdempotentInspect
Tool definitions for an agent framework, generated from the live OpenAPI document, so the schema a model fills is the schema the endpoint validates. format=openai (default) returns { type, function } objects you can spread straight into a chat completion; format=anthropic returns { name, description, input_schema }. The objects carry nothing of ours: how to call each t…
[Group: Agent Platform] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text filter applied within the selection, matched against path, summary, description and group. | |
| limit | No | How many tools to return. The ceiling is the OpenAI limit of 128 functions per request; models degrade well before it. Anything left out is counted in `totalMatched`. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| format | No | Which vendor contract the tool objects follow. `openai` returns `{ type, function }`, `anthropic` returns `{ name, description, input_schema }`. | openai |
| select | No | What to hand over: `starter` (the curated set, the default), `all`, `group:<tag>` such as `group:Vedic`, or `paths:/chart,/synastry` for an explicit list. An unknown path is named in `notes` rather than dropped. | starter |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| notes | No | |
| tools | No | |
| format | No | |
| select | No | |
| executors | No | |
| truncated | No | |
| totalMatched | No | |
| totalAvailable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds the useful guarantee that the emitted schema is the schema the endpoint validates and that the objects carry no vendor-specific fields, but says nothing about cost, rate limits, or response size behavior beyond what the schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The visible portion is front-loaded on what is returned and the two format shapes, with no filler. It is somewhat terse for a tool with six parameters and a listed default/select semantics, but every visible sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and annotations cover the read-only/idempotent profile. The remaining gap is routing: nothing tells the agent when to choose this over astroway_mcp_tools_list or similar listing tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the six parameters is already documented in the schema, including the format enum and the select/fields/precision semantics. The description restates the format option rather than adding new meaning, so the baseline 3 for full schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: returning agent tool definitions generated from the live OpenAPI document, in either OpenAI or Anthropic shape. That is clear enough to differentiate it from report/chart tools in the namespace, but it never names the closest sibling (astroway_mcp_tools_list) or explains the distinction, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no stated alternative. The mention of `format=openai` as the default is parameter behavior, not a usage rule, and the agent is left to infer whether this is for building an agent, curated retrieval, or an MCP tool listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ai_interpret_elementChart Element InterpretationBRead-onlyInspect
AI interpretation of a single chart element (planet/house/aspect) in context. Useful for chart-detail pages.
[Group: AI Interpretations] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| language | No | |
| disclaimer | No | |
| interpretation | No | |
| element_balance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and idempotentHint=false, so the safety profile is covered. The description adds genuinely useful non-schema context: the cost (100 credits, Tier 4) and the AI-interpretation group, but says nothing about rate limits, determinism of the generated text, or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose in the first clause, followed by a short use-case note and two compact metadata tags. No wasted prose, though the group/cost tags are structured metadata rather than prose value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and cost/group are disclosed. But the description claims the tool interprets 'a single chart element (planet/house/aspect)' while the schema exposes no field for selecting which element — the description leaves that mechanism unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the body/fields/precision parameters are thoroughly documented in the schema itself, so the description carries no additional parameter burden. Baseline 3 is appropriate; the description adds nothing about how the target element is identified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('AI interpretation of a single chart element (planet/house/aspect) in context'), and the 'single element' scope implicitly separates it from whole-chart siblings like ai_interpret_natal and synastry. However, it never names those siblings, so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage cue is 'Useful for chart-detail pages,' which is a context hint rather than routing guidance. With four near-identical AI-interpretation siblings (natal, placement, synastry, transits), the description gives no explicit when-to-use/when-not or alternative selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ai_interpret_natalNatal Chart InterpretationARead-onlyInspect
Generate AI interpretation of a natal chart: personality traits, life themes, strongest archetypes. Multi-language. Token-cached for repeats.
[Group: AI Interpretations] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| language | No | |
| disclaimer | No | |
| chart_summary | No | |
| interpretation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, openWorld). The description goes beyond them by disclosing cost (100 credits, Tier 4) and result caching for repeated inputs — both materially affect whether an agent calls it, and repeated calls are hinted non-idempotent yet cached, which is worth knowing. It does not say anything about latency despite the AI-generation nature of the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: purpose first, then language support, caching, cost. The bracket tags ([Group], [Cost]) are functional but slightly metadata-ish rather than prose; still, nothing is wasted or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and the input schema is fully documented. It covers what the interpretation contains, language options, caching and credit cost for a paid AI-generation endpoint. The remaining gap is the absence of any latency/streaming or failure-mode note for a long-running generative call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the nested birth-data schema is exhaustively documented (field names, timezone rules, houseSystem letters, compact-mode fields/precision). The description adds nothing about parameters, which is acceptable given the schema carries the full burden — this lands on the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Generate AI interpretation of a natal chart') and enumerates the output content (personality traits, life themes, strongest archetypes). The natal-chart scope implicitly separates it from astroway_ai_interpret_synastry, _transits, _element and _placement, but those siblings are never named, so the agent must infer the division of labor from the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to choose this over astroway_ai_interpret_placement or astroway_ai_interpret_synastry, nor what prerequisites exist (a computed chart?). 'Multi-language' and 'token-cached for repeats' are properties, not usage conditions, so selection guidance is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ai_interpret_placementSpecific Placement InterpretationARead-onlyInspect
AI interpretation of a specific planet+sign+house combination: concise, focused on the placement only.
[Group: AI Interpretations] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| language | No | |
| disclaimer | No | |
| interpretation | No | |
| requested_planet | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, non-idempotent, and non-destructive behavior. The description adds useful billing context (100 credits, Tier 4) and scope conciseness, but does not disclose credit deduction timing, latency, or preconditions beyond what the schema covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences put the purpose and scope first, followed by terse Group and Cost brackets. Every element earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema and an output schema, the description covers purpose, scope, group, and cost adequately. It could be more complete about prerequisites or AI-call behavior, but nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the body, fields, and precision parameters thoroughly. The description adds domain framing around 'planet+sign+house' but no parameter-level syntax or constraints beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('AI interpretation of a specific planet+sign+house combination') and scopes it to the placement only, which distinguishes it from broader natal or synastry interpretations. However, it does not explicitly name the sibling alternatives it differs from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'focused on the placement only' implies usage for a single planet+sign+house reading, but there is no explicit when-to-use guidance, no exclusions, and no named alternatives such as interpret_natal or interpret_element.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ai_interpret_synastrySynastry InterpretationBRead-onlyInspect
AI interpretation of synastry between two charts: relationship dynamics, attractions, friction points, long-term outlook.
[Group: AI Interpretations] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Pair of natal charts for relationship calculations: synastry, composite, davison. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| language | No | |
| disclaimer | No | |
| interpretation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and idempotentHint=false, so the safety profile is covered. The description usefully adds the cost (100 credits, Tier 4), which matters for budget-aware agents, but says nothing about latency, whether the interpretation is cached, or the consequences of the non-idempotent hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence naming the resource and its output facets, plus two bracketed metadata lines for group and cost. Nothing is wasted, though the facet list is slightly padded and no sentence is spent on usage or behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the input schema is exhaustively documented. However, for a paid (100-credit) non-idempotent AI call, the description omits any note on when to prefer it over the other interpretation tools, leaving a gap in routing guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested chart objects are richly documented (timezone handling, ayanamsa, houseSystem letters, rejected short forms), so the schema does the heavy lifting. The description adds only 'between two charts', which loosely maps to chart1/chart2 but contributes no new parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (AI interpretation) and resource (synastry between two charts), and enumerates what the output covers: relationship dynamics, attractions, friction points, long-term outlook. The phrase 'between two charts' implicitly separates it from single-chart siblings like astroway_ai_interpret_natal, though no sibling is named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not guidance, no prerequisites, and no named alternative among the many interpret_* siblings. The '[Group: AI Interpretations]' tag gives taxonomy context but not selection criteria; an agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ai_interpret_transitsTransits InterpretationBRead-onlyInspect
AI interpretation of current/upcoming transits to a natal chart: what each major transit means in life context.
[Group: AI Interpretations] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| language | No | |
| disclaimer | No | |
| interpretation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, destructive=false, and importantly idempotent=false. The description adds genuinely useful behavioral context via the cost line ('100 credits (Tier 4)'), which annotations do not convey. It stops short of noting that output is LLM-generated and non-deterministic (consistent with idempotentHint=false) or any latency/rate-limit expectation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the purpose, followed by compact metadata tags. Nothing is redundant or padded, though the group/cost tags are more structured metadata than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool takes a two-part input (natal birth data plus a required transitDate/time), and the description never surfaces that both halves are needed or that the transit date drives the interpretation window. An output schema exists so return values need not be explained, but for a Tier-4 credit-consuming interpretation tool the description would benefit from a note on the required transit date and non-determinism.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nested birth-data object, fields, and precision parameters are already fully documented in the schema, including the rejected short-form names and the timezone/timezoneOffset rules. The description adds no parameter-level information, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('AI interpretation') and resource ('current/upcoming transits to a natal chart') plus the scope of output ('what each major transit means in life context'). It is clear on its own, but it does not differentiate itself from close siblings such as astroway_ai_interpret_natal or astroway_mcp_ai_explain_transit, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no alternative tool is named. The '[Group: AI Interpretations]' tag offers weak categorization but no condition that tells an agent when to pick this over the natal, placement, or synastry interpreters. The cost tier is stated but is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_antisciaAntisciaBRead-onlyIdempotentInspect
Calculate antiscia (mirror points along the Cancer/Capricorn axis) and contra-antiscia, plus their aspects to natal planets.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| aspects | No | |
| antiscia | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered structurally. The description adds the cost signal (20 credits, Tier 2), which is genuine behavioral context an agent would not get from the schema. However it discloses nothing about computational behavior, resolution, or precision beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the core concept front-loaded, followed by brief group and cost tags. Nothing is wasted, though the parenthetical definition and metadata lines make it slightly more list-like than prose would be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations carry the safety profile. What is missing is usage context and any clarification of the 11 under-documented parameters for a tool that takes 15, leaving an agent able to understand the operation but not confident about invocation choices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33% and the description adds no parameter meaning at all, so it does not compensate for the gap. Several parameters (cosmogram, zodiacType, houseSystem, ayanamsaId, name, city) are left undocumented in both places, and the reader must infer their roles from enum values alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and a well-defined resource (antiscia and contra-antiscia), and even parenthetically glosses the concept as mirror points along the Cancer/Capricorn axis, plus their aspects to natal planets. This distinguishes it in substance from siblings like midpoints or arabic_parts, though it never names an alternative, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use, no when-not-to-use, and no alternatives among the many sibling aspect tools. The [Group] and [Cost] tags are metadata, not guidance about selecting this tool over midpoints, parallel_aspects, or fixed_stars.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_arabic_partsArabic Parts (Lots)BRead-onlyIdempotentInspect
Calculate Arabic parts (Lots) from a natal chart. Returns positions for standard lots (Fortune, Spirit, etc.) and any custom formula.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus optional custom lot definitions; the built-in set is used when omitted. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| parts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is fully covered. The description adds the credit cost (20, Tier 2) and that a built-in lot set is used when none is supplied, which is useful but modest additional context; it says nothing about formula syntax or error behavior for invalid custom formulas.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences plus compact group/cost metadata; nothing is padded. The metadata lines are useful but arguably belong in structured fields rather than the description body.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, so the description need not explain return values. Stating what is returned (standard lots plus any custom formula) and the credit tier is sufficient for an agent to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself richly documents body, timezone, houseSystem, fields and precision, so the schema carries parameter meaning. The description only implies that custom lots are optional via 'any custom formula', adding little beyond the schema's own 'built-in set is used when omitted' note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate Arabic parts (Lots) from a natal chart') and lists outputs (Fortune, Spirit, custom formulas). It is clear on its own, but never distinguishes itself from the many sibling points/aspects tools such as astroway_aspects_midpoints or astroway_aspects_antiscia.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over sibling tools or what prerequisites exist beyond the generic '[Group: Aspects & Points]' tag and cost line. The agent must infer usage purely from the name and one sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_aspect_barAspect Bars (Gantt)BRead-onlyIdempotentInspect
Transform aspect timelines into Gantt-style bars grouped by transit planet. Each bar shows the duration an aspect is in orb, with exact dates marked. Useful for visual transit calendars.
[Group: Aspects & Points] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| maxOrb | No | ||
| endDate | Yes | ||
| stepDays | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes | ||
| planet1Ids | No | ||
| planet2Ids | No | ||
| aspectAngles | No | ||
| visiblePlanetIds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| bars | No | |
| rows | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as read-only, idempotent, non-destructive, and closed-world, so the safety profile is fully covered. The description adds genuinely useful context (bars show orb duration with exact dates; cost of 10 credits, Tier 1), but omits return format and any parameter-level behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences with the output shape front-loaded, followed by compact group/cost metadata. No padding, though the cost/group tags add bookkeeping rather than task-relevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists so return values need not be explained, and the description does convey the produced artifact. But with 10 parameters at 20% coverage and a near-twin sibling, the description leaves meaningful gaps an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (only 'fields' and 'precision' are documented), across 10 parameters including maxOrb, stepDays, planet1Ids/planet2Ids, aspectAngles, and visiblePlanetIds. The description explains none of these, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource+output: it 'transforms aspect timelines into Gantt-style bars grouped by transit planet,' so the agent knows exactly what is produced. However, it does not distinguish this from the obvious sibling astroway_aspects_aspect_timeline, which the phrase 'aspect timelines' nearly collides with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Useful for visual transit calendars' implies a usage context but gives no explicit when-to-use, when-not, or alternative. With a near-duplicate sibling (astroway_aspects_aspect_timeline) available, the description should route the agent but does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_aspect_timelineAspect TimelineCRead-onlyIdempotentInspect
Calculate a timeline of when two specific planets form an exact aspect within a date range, including enter/exact/leave dates.
[Group: Aspects & Points] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| maxOrb | No | ||
| endDate | Yes | ||
| stepDays | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes | ||
| planet1Ids | No | ||
| planet2Ids | No | ||
| aspectAngles | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| timelines | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds that results include enter/exact/leave dates, which is useful behavioral context, but says nothing about precision loss, orb defaults, sampling step behavior, or the 100-credit cost implications beyond the tier label.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with the core computation front-loaded, followed by the required group and cost metadata. Nothing is wasted, though the single sentence is arguably too sparse for a 9-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 9-parameter tool with low schema coverage, the description is too thin: it omits how maxOrb, stepDays, aspectAngles and precision shape the returned timeline. The output schema covers return values, but the input side leaves an agent guessing at numeric ranges and defaults.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 22% across 9 parameters, so the description carries much of the burden and fails to. maxOrb, stepDays, aspectAngles, precision and planet1Ids/planet2Ids are undocumented in both places; the description only vaguely references 'two specific planets' and a 'date range' without parameters actually named startDate/endDate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: calculating when two planets form an exact aspect over a date range. It is clear what the tool produces, but it does not differentiate itself from similarly named siblings such as astroway_calendar_aspects or astroway_aspects_aspect_bar, so an agent still has to infer which to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool computes but gives no when-to-use guidance, no exclusions, and does not name any alternative tool. The date-range and two-planet framing weakly implies usage but provides no routing information relative to the many other aspect tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_fixed_starsFixed StarsBRead-onlyIdempotentInspect
Calculate conjunctions between natal planets and fixed stars within a specified orb. Returns star details and aspect type.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| stars | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds the credit cost (Tier 2, 20 credits) and notes the response includes star details and aspect type, but says nothing about the missing orb control it advertises, nor about output volume or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core operation front-loaded, plus compact group and cost metadata. No filler, though the cost/group lines are boilerplate rather than definitional content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. But with 15 inputs at 33% schema description coverage and no mention of the required birth-data parameters or sidereal/house options, an agent must reconstruct the calling contract almost entirely from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters, so the description carries more burden than it does. It mentions 'specified orb' even though no orb parameter exists in the schema, and it never explains the required date/time/latitude/longitude quartet, zodiacType, houseSystem, or the ayanamsa options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Calculate conjunctions between natal planets and fixed stars within a specified orb,' which an agent can distinguish from the sibling astroway_aspects_fixed_stars_catalog (a star listing) without opening either schema. However, no sibling is named explicitly, so differentiation relies on inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives named. 'Within a specified orb' hints at a narrowing input, but the description never says when this tool should be preferred over other aspect tools such as astroway_aspects_parallel_aspects or the fixed-star catalog.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_fixed_stars_catalogFixed star catalogueARead-onlyIdempotentInspect
The star names this API accepts, from Swiss Ephemeris fixstars.cat: traditional name, Bayer nomenclature, constellation and magnitude, with the 36-star astrological default set flagged. Optional ?maxMagnitude= trims to the bright end. Static lookup, no chart needed.
[Group: Aspects & Points] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| stars | No | |
| total | No | |
| source | No | |
| maxMagnitude | No | |
| defaultSetSize | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so safety and determinism are covered. The description adds useful context (static, no chart, 36-star default flagged, magnitude trimming) but doesn't cover pagination or response shape, which the output schema carries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences plus a group/cost tag; front-loaded with the key noun. The bracketed metadata lines are boilerplate but consistent with the tool family and mildly useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a static reference lookup with an output schema, the description covers provenance, contents, the default flag, and a trimming filter. Nothing essential is missing; only the return-format note is left to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (fields, precision) are fully documented in the schema. The description mentions maxMagnitude, a query-string option, adding a little signal, but the structured fields do the heavy lifting. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (fixed star catalogue) and its exact provenance (Swiss Ephemeris fixstars.cat), naming the fields returned. It is clearly distinguishable from the related astroway_aspects_fixed_stars, which computes star contacts rather than listing names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Static lookup, no chart needed" gives clear context for when to reach for it, and the maxMagnitude trimming note scopes a common use case. It does not explicitly route the agent to a sibling for the computed-star case, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_gauquelin_sectorsGauquelin SectorsBRead-onlyIdempotentInspect
Calculate Gauquelin sector positions (1–36) for all planets, indicating whether each planet is in a power zone.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sectors | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds the credit cost (20 credits, Tier 2) and tool group, which is useful operational context, but says nothing about output shape, caching, or input sensitivity beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of substance, front-loaded with the verb and resource, followed by clearly separated group/cost metadata. No filler, though the very brevity is also the source of the missing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a computation tool with 15 parameters and an output schema (so return values need not be explained), the description covers purpose and cost but omits input expectations and what distinguishes a 'power zone'. Adequate minimum but thin for the parameter surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description would need to compensate, but it adds nothing about the 15 parameters. It never mentions that date/time/latitude/longitude are required, nor how ayanamsa/zodiacType or timezone affect Gauquelin sector results — a real gap since sector positions depend on exact time and location.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('Gauquelin sector positions (1–36) for all planets'), and adds the interpretive output ('whether each planet is in a power zone'). No close sibling overlaps (no other Gauquelin tool in the list), so differentiation is moot, but the description does not explicitly say how it differs from general aspects/point tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when a Gauquelin-sector analysis is preferable to other aspect/point tools, and no note of prerequisites such as needing a birth time. The agent is left to infer context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_midpointsMidpointsCRead-onlyIdempotentInspect
Calculate all planetary midpoints and their zodiac positions. Optionally include midpoint aspects to natal points.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| midpoints | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint, idempotentHint, destructiveHint false, openWorldHint false), so the bar is lower. The description adds the cost/group metadata ('20 credits, Tier 2'), which is genuine behavioral context beyond the annotations, but says nothing about the response shape or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the core action, followed by compact group and cost tags. Nothing is padded or redundant, though the optional-aspects clause is doing little work.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with only 33% schema coverage, the description omits any guidance on inputs or configuration even though an output schema covers return values. An agent has no help navigating the many optional parameters or distinguishing this from the midpoint_trees sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not. It never mentions the required date/time/latitude/longitude inputs or the many configuration knobs (ayanamsa, houseSystem, zodiacType, precision), leaving half the schema undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Calculate all planetary midpoints and their zodiac positions,' plus an optional mode ('midpoint aspects to natal points'). It is clear on its own but never distinguishes itself from the near-identical sibling astroway_aspects_midpoint_trees, so an agent cannot tell which one to reach for from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is 'Optionally include midpoint aspects to natal points,' which describes an internal option rather than when to choose this tool over astroway_aspects_midpoint_trees or other aspects tools. No preconditions, exclusions, or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_midpoint_treesMidpoint Trees (Uranian)BRead-onlyIdempotentInspect
Calculate Uranian midpoint trees and planetary pictures (symmetries) for each focal planet within a given orb.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the orb in degrees used for midpoint trees and symmetries. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| trees | No | |
| symmetries | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description usefully adds billing behavior (20 credits, Tier 2), which is real context not present in structured fields, but says nothing about output shape, computational cost, or failure modes beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the key noun phrase front-loaded, followed by two short metadata tags. Nothing is redundant, though the bracket tags are boilerplate shared across the tool family rather than tool-specific value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the nested birth-data schema is exhaustively documented. What remains missing is the routing information an agent needs to pick this tool over the near-identical midpoint sibling, leaving the definition only minimally sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only 3 parameters, so the schema already carries the burden. The description mentions the orb and the focal-planet dimension, which maps loosely to the schema, but adds no format, default, or range detail beyond what is already documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (calculate) and a specific resource (Uranian midpoint trees / planetary pictures with symmetries), plus the scoping unit ('for each focal planet within a given orb'). It does not, however, distinguish itself from the sibling astroway_aspects_midpoints, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no reference to alternatives such as astroway_aspects_midpoints or astroway_aspects_antiscia. The only selection signal is the credit tier, which tells the agent about cost but not about appropriateness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_parallel_aspectsParallel AspectsARead-onlyIdempotentInspect
Calculate parallel (same declination) and contra-parallel (opposite declination) aspects between all planets within orb.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the declination orb in degrees. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| parallels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds only the credit cost (20 credits, Tier 2) and the orb-scoped planet scope; it says nothing about response shape, errors, or limits beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence stating the operation plus two compact metadata tags; no filler, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the required birth data plus orb are covered by the schema. What remains thin is usage guidance, but nothing an agent needs to call the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the nested birth-data and orb fields fully documented, so the baseline is 3. The phrase 'within orb' loosely ties to body.orb but adds no format or default detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Calculate) and a precise resource (parallel and contra-parallel aspects by declination), and defines both terms, so an agent can distinguish it from ecliptic-aspect siblings like aspect_bar or midpoints. It does not explicitly name an alternative sibling, keeping it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope (all planets, within orb) implies when the tool applies, but there is no explicit when-to-use/when-not guidance or routing to sibling aspect tools. Usage must be inferred from the astronomical term alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_sabian_symbolsSabian SymbolsBRead-onlyIdempotentInspect
Return the Sabian symbol (Dane Rudhyar) for each given ecliptic longitude.
[Group: Aspects & Points] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| longitudes | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| symbols | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so safety is covered. The description adds two useful operational facts beyond the annotations: the cost tier (10 credits, Tier 1) and that one symbol is produced per longitude. It says nothing about output content or limits, hence a middle score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence front-loads the purpose, followed by short group and cost tags. Nothing is padded, though the bracketed metadata is boilerplate rather than explanatory content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and annotations cover the safety profile. For a simple per-longitude lookup the description plus structured fields give an agent enough to call it correctly; only usage context is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%; the required `longitudes` array has no schema description. The description compensates by specifying these are ecliptic longitudes and that a symbol is returned per element, which is the essential semantic for the undocumented parameter. It still omits units/range detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns the Sabian symbol (Dane Rudhyar) for each supplied ecliptic longitude. The resource is unique enough among the astroway_aspects_* siblings that an agent can identify it, but no sibling is named or contrasted, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives (e.g. other symbol/point lookups). The phrase 'for each given ecliptic longitude' only hints at the input shape, which is already visible in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_chartFull BaZi chartARead-onlyIdempotentInspect
The four pillars with everything the classical apparatus reads off them in one call: hidden stems, na yin, the twelve stages of the day master, element balance over all eight characters, the strength verdict, symbolic stars from both reference pillars, and the branch and stem interactions. Localised by language. Pass longitude with trueSolarTime true to cut the double-hour fro…
[Group: BaZi (Four Pillars)] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| stageSchool | No | ||
| trueSolarTime | No | ||
| timezoneOffset | No | Ignored when timezone is sent. | |
| includeFullTable | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| source | No | |
| pillars | No | |
| language | No | |
| strength | No | |
| dayMaster | No | |
| solarYear | No | |
| disclaimer | No | |
| methodology | No | |
| stageSchool | No | |
| interactions | No | |
| symbolicStars | No | |
| elementBalance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral content beyond that: the response is localised by language, and longitude combined with trueSolarTime affects how the double-hour is cut (a genuine accuracy caveat). It stops short of disclosing cost/tier or error behavior, but the added context is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the aggregate's value proposition, then the enumeration of contents, then the practical solar-time tip — a sensible order. The single dense listing sentence is long and the text is visibly truncated mid-clause ('cut the double-hour fro…'), but there is little filler for a tool of this scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers the payload contents and the main calculation caveat well. For an 11-parameter aggregate with low schema coverage, the remaining gap is the absence of any statement about when to choose this over its many granular BaZi siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 36% (roughly 4 of 11 params), so the description carries some of the burden and it partially does: it explains the longitude + trueSolarTime interaction and the language localisation. It says nothing about stageSchool (classical vs unified), includeFullTable, the compact-mode fields/precision pair, or the date/time formats, leaving several parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (the full BaZi four-pillar chart) and enumerates exactly what the aggregate returns — hidden stems, na yin, twelve stages, element balance, strength verdict, symbolic stars, interactions. Because the sibling set contains a granular tool for nearly each of those items (astroway_bazi_hidden_stems, astroway_bazi_na_yin, astroway_bazi_element_balance, etc.), the phrase 'everything ... in one call' is precisely the differentiator an agent needs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'in one call' implies this is the aggregate alternative to the granular BaZi siblings, and the closing sentence gives a conditional ('Pass longitude with trueSolarTime true to...'), which is configuration guidance rather than tool-selection guidance. It never explicitly states when to prefer this over astroway_bazi_four_pillars or the individual endpoints, so the routing decision is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_day_masterDay MasterBRead-onlyIdempotentInspect
Day stem element + yin/yang polarity + canonical archetype description. The "self" character in BaZi from which all other pillars are interpreted.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| dayMaster | No | |
| dayPillar | No | |
| disclaimer | No | |
| interpretation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds operational context the annotations do not: the 10-credit Tier 1 cost and the BaZi group membership. It adds no pagination, caching, or dependency behavior, so it earns a moderate rather than high score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short, front-loaded with what the tool returns, and every element (including the group and credit tags) carries information. Slightly clipped on the phrasing of the second sentence but free of padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no prose, and the safety profile is in annotations. What is missing is workflow context: whether time is needed for a day-master-only reading, where this fits relative to four_pillars or ten_gods, and any preconditions on the date input. Adequate but with clear gaps for a 7-parameter chart tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 57%, and the two central parameters (date, required, and time) carry only regex patterns with no descriptions in either the schema or the description. The description explains nothing about how the date/time inputs drive the day master or how fields/precision/language behave, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific output: day stem element, yin/yang polarity, and canonical archetype description, and situates it in BaZi as the 'self' character. It is distinguishable from siblings like four_pillars or year_pillar, though it never names a contrasting sibling explicitly. Clear verb+resource, one notch below full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not guidance, and no alternative tool is named, despite the dense BaZi sibling cluster (four_pillars, hidden_stems, ten_gods, strength). The reader can infer this is one sub-step of BaZi analysis, but nothing routes them to or away from it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_element_balance5-Element BalanceBRead-onlyIdempotentInspect
Element balance across the whole chart. The balance object opens the branches and counts all eight characters three ways: visible, with every hidden stem, and weighted so the total stays at eight. The top-level elementCounts, dominantElement and missingElements are DEPRECATED (year and month only, four characters, branches unopened) and keep answering unchanged until 2027-09…
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| stageSchool | No | ||
| trueSolarTime | No | ||
| timezoneOffset | No | Ignored when timezone is sent. | |
| includeFullTable | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| source | No | |
| balance | No | |
| pillars | No | |
| solarYear | No | |
| disclaimer | No | |
| methodology | No | |
| deprecations | No | |
| elementCounts | No | |
| dominantElement | No | |
| missingElements | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuinely useful behavioral context beyond that: the `balance` object opens branches and counts three ways, and the top-level elementCounts/dominantElement/missingElements are deprecated but keep their legacy (four-character) semantics until 2027-09. This is exactly the kind of output-contract disclosure that helps an agent interpret results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and the deprecation caveat is placed after it, which is the right ordering. But the text is dense with internal jargon ('opens the branches', 'stays at eight') and appears truncated mid-sentence at '2027-09…', which weakens the structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be restated, and the deprecation note usefully covers the output contract. What is missing for a tool of this complexity is any parameter guidance and any differentiation from the many sibling BaZi tools, leaving gaps the agent must guess around.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Eleven parameters at only 36% schema description coverage, and the description says nothing about any of them – not date/time, not timezone vs timezoneOffset, not fields compact mode. With coverage this low the description is expected to compensate for the undocumented parameters and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific resource (element balance across the whole chart) and the following sentences specify the computation precisely: three counting methods over all eight characters. However, it never distinguishes itself from close siblings such as astroway_bazi_hidden_stems or astroway_bazi_strength, which also operate on the same chart, so the agent gets no routing signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative tool is named. The only conditional information is about deprecated output fields, which affects interpretation of the response, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_four_pillarsFour Pillars (full)ARead-onlyIdempotentInspect
All four pillars: year, month, day, hour. Day pillar uses the canonical 60-jiazi cycle (anchor 1990-01-01 = Bing-Yin). Pass time to compute the hour pillar; day and hour roll at 23:00 local, year and month at the exact Lichun and 節 instants.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| dayPillar | No | |
| solarYear | No | |
| disclaimer | No | |
| hourPillar | No | |
| yearPillar | No | |
| monthPillar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive, so the bar is low, and the description adds genuinely useful domain behavior: the 60-jiazi anchor (1990-01-01 = Bing-Yin), the 23:00 local rollover for day/hour, and the exact Lichun/節 instants for year/month. The 10-credit cost is also disclosed. It does not mention timezone requirements or output shape, but annotations plus the output schema carry those.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences front-load the resource and the key computational rules, followed by compact group/cost metadata. No filler; each clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations cover the safety profile. The description supplies the timing rules an agent needs to interpret results correctly; the only gap is that it doesn't note the date/timezone prerequisites for accurate hour-pillar output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 57%: timezone, fields, precision and timezoneOffset are documented in the schema, while date and language are bare. The description only adds semantics for `time` (hour-pillar computation), so it does not compensate for the undocumented parameters. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (all four pillars: year, month, day, hour) and implicitly differentiates from the single-pillar siblings (bazi_year_pillar, bazi_month_pillar, bazi_hour_pillar) by emphasizing 'All four.' It is clear what gets computed, though it never explicitly names an alternative tool to route against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Pass `time` to compute the hour pillar' is a usage hint for one parameter, but there is no explicit when-to-use/when-not guidance versus bazi_chart or the per-pillar siblings. The agent must infer that this is the full-chart option from the word 'All.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_hour_pillarHour PillarBRead-onlyIdempotentInspect
Hour pillar via 五鼠遁 (Five-Rats-Escape) day-stem → hour-stem table. The Zi hour opens the day at 23:00 local time.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| time | No | |
| cstHour | No | |
| dayPillar | No | |
| localHour | No | |
| disclaimer | No | |
| hourPillar | No | |
| methodology | No | |
| timezoneOffset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile needs no restating. The description adds genuinely useful domain behavior: the day opens at the Zi hour at 23:00 local time, which materially affects which hour pillar is returned and is not derivable from the annotations or schema. Cost tier is also disclosed. It stops short of stating the input source (birth date/time/location) or output shape, but the output schema covers the latter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and tight: the operative sentence comes first and the Group/Cost tags are compact metadata rather than filler. The untranslated 五鼠遁 term is slightly opaque for a non-specialist but is followed by an English gloss, so no meaning is lost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a specialized BaZi sub-tool buried among hundreds of siblings, however, the definition omits the minimal context an agent needs to select it: what the Hour pillar represents, how it differs from the sibling pillar tools, and what inputs it draws on. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 7 parameters and 57% schema description coverage, the schema already documents the tricky ones (timezone, timezoneOffset, precision, fields). The description adds no parameter-level detail and never clarifies the required date/time formats (patterns only) or the language field, which the schema leaves bare. The mention of 23:00 'local time' loosely signals the timezone parameter's relevance, so it is not a total wash, but it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it derives the Hour pillar using the 五鼠遁 day-stem-to-hour-stem table, and clarifies the Zi-hour day boundary. That is more precise than a tautology. It does not, however, distinguish itself from closely-named siblings like astroway_bazi_four_pillars, astroway_bazi_year_pillar or astroway_bazi_chart, so the agent must infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for this tool versus the other BaZi pillar tools or the aggregate bazi_four_pillars/bazi_chart. No prerequisites, exclusions, or alternatives are named. The Group and Cost tags give taxonomy and price but not usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_interactionsBranch and stem interactionsBRead-onlyIdempotentInspect
Stem combinations, six harmonies, full and half trines, clashes, harms, punishments and self-punishments present in the chart, with the pillars involved and the element a combination produces.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| stageSchool | No | ||
| trueSolarTime | No | ||
| timezoneOffset | No | Ignored when timezone is sent. | |
| includeFullTable | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| source | No | |
| pillars | No | |
| solarYear | No | |
| disclaimer | No | |
| methodology | No | |
| interactions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and a closed world, so the safety profile is covered. The description usefully discloses the report contents (pillar pairs plus resulting element) and the credit cost (Tier 1, 10 credits), which annotations do not carry. It says nothing about determinism against the input, error behaviour, or how a chart with no interactions is represented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the most distinctive content (the interaction types) before the secondary details. Nothing is redundant, though the enumeration is long and the appended group/cost tags are bracketed boilerplate rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not spell out return values, and it covers the computed content well. However, for an 11-parameter chart tool with patchy schema documentation, the absence of any statement about required birth data, the stageSchool choice between classical and unified, or the includeFullTable toggle leaves the agent under-informed about how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 11 parameters and only 36% schema description coverage, the description should carry meaning for the undocumented inputs, but it mentions none of them — not date, time, timezone, trueSolarTime, stageSchool, includeFullTable, fields, precision or language. The schema leaves several of these bare, so the gap is real rather than theoretical.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource — the set of stem/branch interactions (combinations, harmonies, trines, clashes, harms, punishments) found in a BaZi chart — and even says what is reported alongside each one (pillars involved, produced element). That is far more specific than the title alone. It stops short of differentiating itself from near neighbours such as astroway_bazi_four_pillars or astroway_bazi_chart, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (a birth date/time is required by the schema but never mentioned), and no routing to or away from alternative BaZi tools. The only framing is the group/cost tag, which is metadata rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_life_stagesTwelve life stagesCRead-onlyIdempotentInspect
A stem read against each branch as a life cycle, from Chang Sheng through Di Wang to Jue. The day master through the chart; pass includeFullTable for the ten-by-twelve reference table. stageSchool picks the classical yin-reverse rule or the unified one.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| stageSchool | No | ||
| trueSolarTime | No | ||
| timezoneOffset | No | Ignored when timezone is sent. | |
| includeFullTable | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| school | No | |
| source | No | |
| dayMaster | No | |
| solarYear | No | |
| disclaimer | No | |
| schoolNote | No | |
| methodology | No | |
| dayMasterThroughChart | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds conceptual output context (that the pipeline yields the twelve-stage cycle, and includeFullTable returns a ten-by-twelve reference table), but says nothing about how the two stageSchool modes differ in result or what the default is; adequate, not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences that lead with the concept and then the two option hints. The first sentence is a little convoluted, but there is no padding and the metadata tags are compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and annotations cover the safety profile. What remains thin is the conceptual/usage framing for a BaZi tool and the unaddressed parameters; it is callable but not fully self-explanatory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 36% across 11 params, so the description must compensate. It does explain includeFullTable (returns the ten-by-twelve reference table) and stageSchool (classical yin-reverse rule vs unified), which is real added value, but leaves date, time, trueSolarTime, longitude and language entirely unaddressed in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the concept being computed – a stem read against each branch as a life cycle (the twelve life stages, Chang Sheng through Jue) via the day master. However, it never states a verb+resource plainly and gives no differentiation from dense BaZi siblings such as bazi_day_master or bazi_strength, so an agent cannot cleanly distinguish this tool's output from adjacent ones without domain knowledge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is parameter-level (includeFullTable, stageSchool) rather than situational. There is no statement of when to reach for this tool versus the many other BaZi tools, no prerequisites, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_luck_pillarsLuck Pillars (Da Yun)BRead-onlyIdempotentInspect
10-year luck pillars sequence. Direction by gender + year-stem polarity per Ziping canon.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| count | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| gender | Yes | ||
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| count | No | |
| gender | No | |
| source | No | |
| startAge | No | |
| direction | No | |
| disclaimer | No | |
| luckPillars | No | |
| methodology | No | |
| startReference | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds useful non-annotation context: a fixed 10-credit (Tier 1) cost and the Ziping-canon direction method. It says nothing about how many pillars return, timezone handling, or any auth/rate constraints, so it stays at the baseline-plus level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the core concept and direction logic front-loaded, followed by clearly tagged Group/Cost metadata. No filler, though the second sentence is borderline trivia for an agent deciding whether to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The existence of an output schema removes the need to describe return values, and cost is disclosed. However, for a 9-parameter tool with 44% schema coverage and no usage guidance, the description leaves gaps an agent must fill via the schema and sibling list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 9 parameters and only 44% schema description coverage, the description should carry more of the load. It touches only gender (as a direction input) and says nothing about count, fields, precision, time, timezone, or timezoneOffset, so callers must read the schema for the majority of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: the 10-year luck pillar sequence (Da Yun), plus the direction rule (gender + year-stem polarity per Ziping canon). An agent can tell it computes a BaZi period sequence rather than a single pillar. It does not explicitly distinguish itself from sibling tools like astroway_bazi_year_pillar_decade or astroway_bazi_yearly, which prevents a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how the direction is derived, not when to call this tool versus alternatives. There is no mention of prerequisites, exclusions, or sibling tools such as astroway_bazi_yearly or astroway_bazi_year_pillar_decade, leaving selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_monthlyMonthly ForecastBRead-onlyIdempotentInspect
Same Sheng-Ke + branch-clash analysis as yearly, but applied to a specific calendar month. Month branch resolved via mid-month jieqi.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| natalDate | Yes | ||
| natalTime | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| targetYear | Yes | ||
| targetMonth | Yes | ||
| natalTzOffset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| disclaimer | No | |
| targetYear | No | |
| elementFlow | No | |
| targetMonth | No | |
| targetPillar | No | |
| natalDayMaster | No | |
| branchInteractions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds genuinely non-obvious behavior beyond them: the month branch is resolved via mid-month jieqi (which determines which month boundary is used) and the cost is 10 credits (Tier 1). It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences front-load the method and scope, followed by compact structured metadata (group, cost). No filler or repetition; every line carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations cover safety. However, for an 8-parameter tool with 3 required inputs and 25% schema coverage, the description leaves the date/time/timezone inputs and their interaction underspecified, which is a real gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% across 8 parameters, so the description carries the burden and fails to compensate. Only 'a specific calendar month' loosely gestures at targetMonth; natalDate, natalTime, targetYear, natalTzOffset, and language are undocumented in both the schema and the description, leaving timezone and year/month coupling unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific analytical method (Sheng-Ke + branch-clash) and its scope (a single calendar month), and explicitly frames it as the monthly counterpart to the yearly analysis. It differentiates scope from the sibling astroway_bazi_yearly by implication rather than naming the tool, so it is clear but not maximally sibling-aware.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Framing it as 'same as yearly but applied to a specific calendar month' implicitly tells the agent when to reach for this rather than the yearly tool, but there is no explicit when-to-use, no exclusions, and no mention of the adjacent astroway_bazi_month_pillar (natal month pillar), which could easily be confused with this forecast tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_month_pillarMonth PillarCRead-onlyIdempotentInspect
Month stem + branch from solar-term boundaries.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| monthPillar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds the solar-term boundary semantics and the cost/group metadata, which is useful context, but says nothing about how missing time or timezone inputs affect the computed pillar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded clause carries the core meaning with no filler; the group and cost tags are compact metadata. It is terse rather than padded, though it verges on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, but for a 7-parameter tool with partial schema coverage and no usage context, the description leaves the agent without enough to select it confidently among dozens of BaZi siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 57% and the description contributes zero parameter meaning. The undocumented parameters (date, time, language) include the required one, so the description does not compensate for the gap even though the date/time patterns are somewhat self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (month stem + branch) and its derivation rule (solar-term boundaries), which is a real distinguishing detail versus a calendar-month calculation. It does not, however, differentiate itself from the many sibling pillar tools (year_pillar, hour_pillar, four_pillars), which share the same phrasing pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool versus alternatives such as astroway_bazi_four_pillars or astroway_bazi_monthly, and no prerequisite information. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_na_yinNa Yin sound-elementARead-onlyIdempotentInspect
The sound-element of each pillar. The sixty jiazi collapse into thirty names, two consecutive pillars to a name; the year pillar na yin is what popular readings mean by "your element", and it is not the day master.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| stageSchool | No | ||
| trueSolarTime | No | ||
| timezoneOffset | No | Ignored when timezone is sent. | |
| includeFullTable | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| source | No | |
| pillars | No | |
| solarYear | No | |
| disclaimer | No | |
| methodology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered by structured data. The description adds genuine domain context (the two-pillar collapse, the year-pillar reading) but says nothing about the credit cost beyond the header note, and nothing about output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences that front-load the definition and then the disambiguation, plus a compact metadata footer for group and cost. No wasted text, though the cost/group lines are boilerplate rather than value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the concept is well-defined. But for an 11-parameter tool with low schema coverage and a domain-specific concept, the description leaves too much about input handling and the year-vs-other-pillar choice unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 11 parameters at only 36% schema description coverage, the description must carry more of the load than it does. It adds nothing about date, time, timezone, or the fields/precision compact-mode behavior, yet the nà yīn result depends critically on how the birth data is supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific concept ('the sound-element of each pillar') and pre-empts the most likely confusion by clarifying what it is NOT ('it is not the day master'), directly differentiating it from the sibling astroway_bazi_day_master. The sixty-jiazi-to-thirty-names mechanism makes the resource unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly signals it answers the popular 'what is your element' question, but it never states when to call this vs. alternatives like bazi_day_master or bazi_element_balance. It distinguishes the concept but not the usage decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_strengthDay-master strengthBRead-onlyIdempotentInspect
The support-and-suppress reading over the weighted hidden-stem count, with the three classical criteria (season, root, allies) reported unweighted and the favourable elements that follow. The caveat names both limits: the month is counted like any other branch, and the cut points are this API's convention.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| stageSchool | No | ||
| trueSolarTime | No | ||
| timezoneOffset | No | Ignored when timezone is sent. | |
| includeFullTable | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| source | No | |
| pillars | No | |
| strength | No | |
| dayMaster | No | |
| solarYear | No | |
| disclaimer | No | |
| methodology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuine methodological context beyond the annotations: the month is counted like any other branch, the three criteria are reported unweighted, and the cut points are this API's own convention. That limitation disclosure is exactly the kind of behavior an agent needs, though auth/rate-limit details are absent (credit cost is given in the metadata block).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences are front-loaded with the core concept, and the caveat sentence names both limits economically. The prose is dense jargon ("support-and-suppress", "weighted hidden-stem count") which reduces immediate readability, but nothing is wasted or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. What remains missing is any positioning against the large BaZi sibling set and any description of the many input parameters, which a tool with 11 options arguably needs. The methodology and cut-point caveats partially fill the gap, making this minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 11 parameters and only 36% schema description coverage, the description is expected to compensate, but it mentions no input parameters at all. Nothing is said about date/time handling, timezone vs timezoneOffset, stageSchool, precision, fields or includeFullTable, so the coverage gap is unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific computation: the day-master support-and-suppress reading over the weighted hidden-stem count, with the three classical criteria (season, root, allies) and the favourable elements. This is a concrete verb-plus-resource statement rather than a tautology. It does not, however, explicitly distinguish itself from close siblings such as astroway_bazi_day_master, astroway_bazi_hidden_stems or astroway_bazi_element_balance, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. The description explains what is computed but not the conditions under which an agent should pick this over the many adjacent BaZi endpoints (e.g. day_master, element_balance). No prerequisites or sequencing are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_symbolic_starsSymbolic stars (Shen Sha)BRead-onlyIdempotentInspect
Peach Blossom, Travelling Horse, Canopy, Heavenly Nobleman, Blade and Void, computed from BOTH the year and the day reference pillar because the transmissions disagree about which one the rules read from. Where two transmissions place a star differently, both placements ship and each names the other.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| stageSchool | No | ||
| trueSolarTime | No | ||
| timezoneOffset | No | Ignored when timezone is sent. | |
| includeFullTable | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| source | No | |
| pillars | No | |
| solarYear | No | |
| disclaimer | No | |
| byDayPillar | No | |
| methodology | No | |
| byYearPillar | No | |
| referenceNote | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: it discloses the dual-pillar computation, the disagreement between transmissions, and the specific handling rule that both placements ship and cross-reference each other. It also surfaces a cost tier (10 credits).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the star names and followed by the key methodological caveat, plus compact group/cost metadata. It is reasonably tight, though the second sentence about cross-naming placements is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. However, for an 11-parameter tool at 36% schema coverage, the description leaves a significant parameter gap and gives no usage routing, making it only adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 36% across 11 parameters, so the schema cannot carry the load and the description must compensate. It instead says nothing about date/time format, timezone, precision, fields, stageSchool, trueSolarTime, or includeFullTable, leaving most parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource concretely (Peach Blossom, Travelling Horse, Canopy, Heavenly Nobleman, Blade and Void) and states it is 'computed from BOTH the year and the day reference pillar,' so an agent knows this yields Shen Sha symbolic stars. It is distinguishable from BaZi siblings by the star names, though it never explicitly contrasts itself with neighbors like astroway_bazi_four_pillars or astroway_bazi_ten_gods.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus another BaZi tool, and no prerequisites or input context beyond the required date. The only guidance is methodological (why both pillars are used), which explains the output rather than the usage decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_ten_godsTen Gods (Shi Shen)BRead-onlyIdempotentInspect
Ten Gods classification per day master. Bi Jian/Jie Cai (peer), Shi Shen/Shang Guan (output), Pian Cai/Zheng Cai (wealth), Qi Sha/Zheng Guan (officer), Pian Yin/Zheng Yin (resource).
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| source | No | |
| tenGods | No | |
| dayMaster | No | |
| disclaimer | No | |
| methodology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, non-destructive read, so the safety profile is covered. The description adds operational context beyond annotations only via the '[Cost: 10 credits (Tier 1)]' and group tags; it says nothing about the computation performed, determinism relative to input, or limits. Adequate but thin given annotations carry the behavioral burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core statement, followed by a compact enumeration and two bracketed metadata tags. Efficient and free of filler, though the enumeration of ten terms is dense and the metadata tags sit outside the prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. But the description omits the essential framing that this is a birth-chart-derived computation requiring a date/time, and gives no routing against the numerous BaZi siblings - a real gap for a 7-parameter tool in a dense toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 57%, and the description supplies no parameter meaning at all - it never mentions date, time, timezone, fields, or precision. With over half the parameters documented only in the schema and the remainder undocumented anywhere, the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and operation ('Ten Gods classification per day master') and enumerates the ten gods with their category labels (peer, output, wealth, officer, resource), which tells an agent what the output represents. However, it does not distinguish itself from the many sibling BaZi tools (day_master, four_pillars, hidden_stems) that an agent might otherwise reach for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. that a birth date is needed), and no mention of any alternative sibling. The agent must infer usage entirely from the name and group tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_yearlyYearly ForecastBRead-onlyIdempotentInspect
Compares target year pillar against natal day master + natal year branch. Returns element-flow relation (companion / mother / output / control / wealth) per Sheng-Ke cycle, branch clashes (六冲), and trine support (三合).
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| natalDate | Yes | ||
| natalTime | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| targetYear | Yes | ||
| natalTzOffset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| disclaimer | No | |
| targetYear | No | |
| elementFlow | No | |
| targetPillar | No | |
| natalDayMaster | No | |
| branchInteractions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds useful semantic content (what relations are computed) and a cost tag (10 credits, Tier 1), but says nothing about auth, limits, or how natal time/zone defaults affect results. Adequate but not rich beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the operation front-loaded before the return contents, plus compact group/cost metadata. No padding or repetition, though the enumerated return fields partly duplicate what the output schema already provides.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, and the safety profile is carried by annotations. However, for a 7-parameter tool with low schema coverage, the missing parameter documentation and absence of any sibling routing leave real gaps an agent must guess around.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% (fields and precision only), so the description must compensate — and it does not. It never mentions natalDate, targetYear, natalTime, natalTzOffset, or language, leaving the two required parameters and the timezone input undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation (compares target year pillar against natal day master and natal year branch) and enumerates the analytical outputs (Sheng-Ke element-flow relation, 六冲 branch clashes, 三合 trine support). Clear verb+resource, but it never distinguishes itself from close siblings such as astroway_bazi_year_pillar, astroway_bazi_year_pillar_decade, or astroway_bazi_monthly, so an agent cannot route between them from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use statement, no when-not-to-use, and no named alternative despite a dense BaZi sibling cluster. The only scoping hint is implicit in the phrase 'target year pillar', which an agent must infer means an annual forecast use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_year_pillarYear PillarCRead-onlyIdempotentInspect
Year stem + branch + animal + element with yin/yang.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yearPillar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful operational context beyond that: the group (BaZi Four Pillars) and the cost (10 credits, Tier 1). It does not disclose what input the pillar is computed from or any limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded fragment with no filler, and the cost/group tags are compact. But it is under-specified rather than concise — the terse form leaves the core routing question unanswered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. Still, for a tool sitting in a cluster of four ambiguous pillar siblings, the description omits both sibling disambiguation and parameter meaning, which is the minimum needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 57%, and the description adds nothing about any of the 7 parameters. Notably the required `date` parameter has only a regex pattern in the schema and no description anywhere, so the agent must guess whether it is a birth date, a reference year, or a calendar date — the one thing this tool's semantics hinge on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource contents precisely (year stem, branch, animal, element, yin/yang), so an agent knows what data comes back. However, it is a noun fragment with no verb and no differentiation from the many near-identical sibling pillars (astroway_bazi_month_pillar, astroway_bazi_hour_pillar, astroway_bazi_four_pillars, astroway_bazi_day_master). The naming pattern makes the distinction inferable, but the description itself does not make it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing states when to call this instead of astroway_bazi_four_pillars, astroway_bazi_chart, or astroway_bazi_yearly, all of which overlap heavily. No prerequisites, no mention that a birth date is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_bazi_year_pillar_decadeYear Pillars × 10BRead-onlyIdempotentInspect
10 consecutive year pillars from a given starting year.
[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startYear | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| decade | No | |
| startYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds useful cost/group metadata (10 credits, Tier 1, BaZi group), but says nothing about output volume, whether language affects the pillar labels, or how the decade window is bounded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and waste-free; the bracketed group/cost tags are compact and machine-scannable. Slightly more verbose than a single clean sentence, but nothing is extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and annotations handle safety. However, for a tool with three comparably named BaZi siblings and a required year parameter, the description is thin on routing and on what the decade output represents, leaving an agent to infer selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are well documented in the schema, while 'startYear' and 'language' are undocumented. The description's 'from a given starting year' loosely maps to startYear but adds no format or edge-case detail (e.g., whether the 10 pillars begin at that year inclusive). Baseline 3 fits given the schema carries the parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and cardinality: '10 consecutive year pillars from a given starting year.' An agent can distinguish it from the singular astroway_bazi_year_pillar by the '10 consecutive'/decade framing. It stops short of naming the sibling alternative explicitly, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no routing to alternatives among the many BaZi siblings (year_pillar, yearly, luck_pillars, monthly). The '10 consecutive' scope implies a range flavor, but nothing tells the agent when this is preferred over the single-year or yearly tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_customer_archetypeCustomer ArchetypeCRead-onlyIdempotentInspect
Native customer persona that resonates with the founder's sun-sign brand voice.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| element | No | |
| disclaimer | No | |
| founderSign | No | |
| targetTraits | No | |
| targetArchetype | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive and closed-world, so the safety profile is covered. The description adds only a cost note (10 credits, Tier 1) and a group tag; it discloses nothing about how the persona is derived, rate limits, or what the response looks like beyond what annotations and the output schema already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence plus metadata tags; nothing is padded and the core concept is front-loaded. It is efficient, though arguably too terse for a 15-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 15 parameters at 33% schema coverage, a complex business-astrology computation, and no usage guidance, the description leaves the agent under-informed. An output schema exists so return values need no explanation, but the invocation-side context is largely missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters (date, time, latitude, longitude, name, city, zodiacType, houseSystem, etc. are undocumented), and the description supplies no parameter meaning at all. With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific output (a 'Native customer persona' tied to the founder's sun-sign brand voice), so the agent understands what the tool produces. However, it does not state a clear verb (compute/generate profile) and gives no differentiation from the many other business_* siblings such as astroway_business_founder_personality or astroway_business_leadership_style.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives, no prerequisites, and no mention of the founder chart data it presumably derives from. The sibling list is dense with similar business-persona tools, so the absence of any routing hint is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_electional_dayElectional-Day SuitabilityCRead-onlyIdempotentInspect
Suitability of a proposed launch date for the venture type.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| element | No | |
| sunSign | No | |
| disclaimer | No | |
| suitability | No | |
| proposedDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely useful non-schema context in the cost line (10 credits, Tier 1) and the group tag, but says nothing about what the suitability assessment contains or how it is derived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with the purpose front-loaded and the cost/group metadata clearly delimited. Nothing is padded or redundant, though the brevity contributes to the specification gaps noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool the definition is thin: it never explains the required date/time/geo inputs, never resolves the phantom 'venture type' input, and offers no routing guidance against near-identical business/muhurta siblings. An output schema exists, so return values need not be described, but the input-side gaps remain substantial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only ~33% schema description coverage, the description needs to carry meaning for the undocumented inputs (date, time, latitude, longitude, city, name, cosmogram, zodiacType, houseSystem, ayanamsaId). Instead it adds no parameter detail at all, and its only parameter-like reference ('venture type') has no corresponding field, which actively misleads.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Suitability of a proposed launch date for the venture type' identifies the resource (a launch date) and the judgment being made, but it is a noun phrase rather than a clear verb+resource statement, and 'the venture type' refers to an input that does not exist anywhere in the schema. It also does not distinguish this from siblings such as astroway_vedic_muhurat_business_start or astroway_business_expansion_timing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many adjacent electional/muhurta tools in the sibling list. No prerequisites, no exclusions, no named alternative — the agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_expansion_timingExpansion TimingBRead-onlyIdempotentInspect
High-level expansion guidance; pair with /transits for actual windows.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| element | No | |
| sunSign | No | |
| disclaimer | No | |
| generalGuidance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds useful non-annotation context — the tool is deliberately non-specific and the cost is 10 credits (Tier 1) — but says nothing about return contents or limitations beyond the transits caveat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The prose is two efficient clauses with the key caveat front-loaded, and the [Group]/[Cost] metadata is structured. It is arguably too terse for a 15-parameter chart tool, but there is no wasted language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 15-parameter astrology computation tool, this description is far too thin — it explains neither the inputs it requires nor what the guidance output contains. The deferral to /transits is the only substantive content, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 15 parameters with only 33% schema description coverage, and the description adds zero parameter guidance. With low coverage the description is expected to compensate for the undocumented fields (e.g. zodiacType, houseSystem, cosmogram), and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns 'high-level expansion guidance' for business expansion timing, which is a real (if soft) verb+resource. However 'guidance' is vague about what is actually produced, and it does not distinguish this tool from the many other business_* siblings beyond deferring to /transits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells the agent when this tool is and is not sufficient: use it for high-level framing and pair with /transits for actual windows. The alternative is named, though '/transits' is only a loose match to the sibling astroway_prognostics_transits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_founder_personalityFounder PersonalityBRead-onlyIdempotentInspect
Founder type + strengths/weaknesses + ideal industry.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| profile | No | |
| sunSign | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description usefully adds cost (10 credits, Tier 1) and group membership, but says nothing about computation source, auth needs, or latency beyond what annotations supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence listing the three outputs, followed by compact metadata tags. Nothing is wasted, though the sentence is arguably too terse for a 15-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a tool requiring precise birth data among 15 parameters, the description omits input expectations and sibling differentiation, leaving it minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes no parameter meaning at all — it never mentions that date/time/latitude/longitude are required birth data. It does not compensate for the documentation gap left by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the concrete outputs (founder type, strengths/weaknesses, ideal industry), so an agent knows exactly what this tool produces. It does not, however, distinguish itself from near-identical siblings such as astroway_business_ideal_industry or astroway_business_leadership_style, which cover overlapping ground.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. natal birth data required), and no mention of alternatives despite a crowded business-astrology sibling set. The only routing signal is the '[Group: Business Astrology]' tag, which is taxonomy rather than usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_founding_chartFounding-Day ChartBRead-onlyIdempotentInspect
Treat the proposed founding date as a chart; returns sun/moon/ASC + theme.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| planets | No | |
| sunSign | No | |
| moonSign | No | |
| ascendant | No | |
| disclaimer | No | |
| foundingTheme | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the output footprint (sun/moon/ASC + theme) and cost/credit context, which is genuinely useful, but says nothing about auth, rate limits, or computation caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is short, front-loaded, and free of filler. The bracketed group/cost lines are metadata rather than prose waste, so the whole thing reads efficiently, though it is arguably too terse for a 15-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be re-explained, and annotations cover the safety profile. However, for a 15-parameter tool with low schema coverage, the one-line description plus routing metadata leaves usage and parameter handling under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is expected to compensate and adds no parameter meaning at all – it names none of time, timezone, ayanamsa, houseSystem, fields, or precision. An agent must infer everything from the schema's own partial docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific act (treat the proposed founding date as a chart) and the concrete return (sun/moon/ASC + theme), so an agent knows exactly what it produces. It does not, however, distinguish itself from the surrounding business* siblings (electional_day, founder_personality, name_suggestions) or the muhurat business-start tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. The only orienting metadata is the '[Group: Business Astrology]' and cost tags, which tell the agent where it sits but not when to pick it over the many other business/electional tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_ideal_industryIdeal IndustriesCRead-onlyIdempotentInspect
Industries best suited to this founder profile.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| sunSign | No | |
| disclaimer | No | |
| industries | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds no behavioral context of its own: nothing about determinism, latency, required birth data, or what 'founder profile' means operationally. It neither contradicts nor enriches the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence, with the group and pricing metadata clearly segregated in bracketed lines. Nothing is padded, though the brevity is partly under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a 15-parameter computation tool with low schema coverage and no usage or behavioral notes, the definition leaves the agent without enough to invoke it confidently. It should at minimum state what inputs constitute the 'founder profile' and how the result is selected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 33% of the 15 parameters are described in the schema, and the description compensates for none of the gap. The phrase 'this founder profile' faintly implies natal inputs (date, time, latitude, longitude), but there is no explanation of the ayanamsa, zodiacType, houseSystem, fields, or precision parameters that materially change the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a resource (industries suited to a founder profile) but supplies no verb, so it is unclear whether the tool computes, ranks, or retrieves them. It is distinguishable in topic from siblings like astroway_business_leadership_style or astroway_business_founder_personality, but the phrasing is a bare noun phrase rather than a stated action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite conditions (e.g., that a birth chart profile must be supplied), and no mention of adjacent business tools such as astroway_business_founding_chart or astroway_business_expansion_timing that an agent might confuse it with. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_ideal_partner_signIdeal Partner SignsCRead-onlyIdempotentInspect
Trine elemental partners with natural synergy.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| idealPartnerSigns | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the cost/credit tier ('10 credits (Tier 1)'), which is real behavioral context not present in annotations, but says nothing about what the operation returns or its prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity reflects under-specification rather than disciplined editing. The front-loaded line is vague, and the second block is service metadata rather than task-relevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a 15-parameter specialized tool with only 33% schema coverage the single vague sentence is far from complete. An agent cannot confidently determine what the tool computes or how to populate its many optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes zero parameter-level meaning. Parameters such as cosmogram, zodiacType, and houseSystem are undocumented in both the schema and the description, so the required compensation for the coverage gap is absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description offers a poetic fragment ('Trine elemental partners with natural synergy') but never states a verb or the resource being produced. It gestures at the concept of trine-element partner signs without saying it computes an ideal-partner-sign reading from a birth chart, so an agent must infer the function largely from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternatives are given. With closely related siblings like astroway_business_team_compatibility and astroway_relational_synastry, the description provides no routing guidance for choosing this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_leadership_styleLeadership StyleCRead-onlyIdempotentInspect
Concise leadership archetype + key strengths.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| sunSign | No | |
| strengths | No | |
| disclaimer | No | |
| leadership | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description's one addition of substance is the billing metadata ('Cost: 10 credits (Tier 1)', 'Group: Business Astrology'), which is genuinely useful agent-relevant context, but it says nothing about what input data is mandatory or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-line format is front-loaded and wastes no words; the group and cost tags are short and skimmable. It is efficient rather than verbose, but its brevity stems from under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 4-required computation tool in a dense sibling cluster, the description omits everything an agent needs beyond the annotation-covered safety profile: required inputs, output shape (though an output schema exists, so return values need not be explained), and discrimination from adjacent business tools. Only the credit cost is additive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not. The four required parameters (date, time, latitude, longitude) — the core birth-data triple an agent must collect — are never mentioned, and no guidance is given on defaults or the sidereal/tropical choice.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Concise leadership archetype + key strengths' describes the returned artifact rather than an action, so the agent knows what output to expect but not what operation runs. It gives no differentiation from near siblings like astroway_business_founder_personality, astroway_business_marketing_style, or astroway_business_risk_profile, which all produce business-oriented archetypes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no indication of the prerequisite birth data, no distinction from the other business_* archetype tools, and no note on whether it should be called alongside a founding chart. The agent must infer placement from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_marketing_styleMarketing StyleCRead-onlyIdempotentInspect
Element-based marketing voice and campaign style.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| style | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description's only added behavioral fact is the cost tag (10 credits, Tier 1), which is genuinely useful, but it says nothing about what inputs are needed, what is computed, or any limits. Minimal beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the purpose line is front-loaded, with the group/cost tags earning their place as metadata. However the brevity reflects under-specification rather than disciplined concision, so it is only adequately structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter computational tool, one purpose sentence plus tags is thin. The output schema spares it from explaining return values and the annotations cover safety, but it never explains required inputs (birth data) or the meaning of its many options, leaving the agent under-equipped to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 15 parameters with only 33% description coverage, and the description adds zero parameter meaning - nothing about the required date/time/latitude/longitude, the ayanamsa/house-system choices, or the compact-mode fields/precision options. With low coverage the description is expected to compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific output (marketing voice and campaign style) but gives no verb and never states that it derives this from a birth chart, nor does it differentiate itself from the many sibling business tools like leadership_style or customer_archetype. 'Element-based' is left for the agent to interpret as astrological elements. It is recognizable but vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the ~15 business_* siblings. The agent gets only a group tag and a credit cost, which do not help it decide whether this tool or another business tool is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_name_suggestionsName SuggestionsCRead-onlyIdempotentInspect
Naming hints (syllable structure, palette, semantic field) by sign.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| sunSign | No | |
| nameHints | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered. The description usefully adds cost (10 credits, Tier 1) and group context, which annotations do not carry, but it says nothing about what the tool computes from the required birth data or any limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, with metadata tags cleanly separated. No wasted words, though the brevity partly stems from under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with low schema coverage, the description is far too thin. An output schema exists so return values need not be explained, but the input model (full birth chart for a name-suggestion result) and the selection context are left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds zero parameter meaning. It never explains why a naming-suggestion tool needs date, time, latitude and longitude, nor how the required birth data relates to the 'by sign' output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific output (naming hints covering syllable structure, palette, semantic field) but the phrase 'by sign' is ambiguous — it doesn't say whether this is the sun sign, rising sign, or something derived from the required birth data. No differentiation from the many sibling business_* tools or the other name-related tools (pet_best_names, muhurat_naming_ceremony).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The agent is left to infer that this fits a business-naming workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_risk_profileRisk ProfileCRead-onlyIdempotentInspect
Element-based risk tolerance + recommended safeguards.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| riskProfile | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive behavior, so the safety profile is covered. Beyond that the description adds only cost (10 credits, Tier 1) and a group label; it says nothing about what inputs are needed, what the result contains, or any limits, which is thin for a read tool that appears to run a full astrological computation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short front-loaded sentence plus two metadata tags; nothing is padded and nothing is buried. It is terse rather than wasteful, but the brevity comes at the cost of under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Nevertheless, for a 15-parameter calculation tool with 33% schema coverage and no usage or behavioral guidance, the definition omits how to supply the required natal-style inputs and when this result is the right one to request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the four required parameters (date, time, latitude, longitude) carry no prose meaning in either the schema or the description. The description contributes zero parameter semantics, so it fails to compensate for the coverage gap across 15 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the output (element-based risk tolerance plus recommended safeguards), so an agent knows roughly what it will get back. However, it is a noun phrase with no verb and no differentiation from the very similar sibling astroway_financial_risk_tolerance, leaving the business-vs-financial distinction to inference from the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_financial_risk_tolerance or astroway_business_founding_chart. The '[Group: Business Astrology]' tag is a categorization label, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_business_team_compatibilityTeam CompatibilityBRead-onlyIdempotentInspect
Founder × partner compatibility score.
[Group: Business Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| founder | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| partner | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| compatibility | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile needs no restatement. The description adds genuinely useful behavioral context in the cost line (10 credits, Tier 1), but says nothing about output shape, whether both birth charts are mandatory inputs, or scoring semantics — acceptable but thin given annotations carry the safety burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first line and the two bracketed metadata lines are short and informative, with no padding. It is extremely terse, but nothing present is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Rich schema (100% coverage, nested founder/partner objects), an output schema, and full annotations mean the description need not explain inputs, returns, or safety. What remains missing is the usage/routing context, so it is only minimally adequate for a tool with many near-neighbor compatibility siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the founder/partner objects, fields, and precision all documented in the schema itself, so baseline 3 applies. The description only implies two people are supplied and adds no syntax, default, or interpretation detail beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific resource and pairing ("Founder × partner compatibility score") and the Business Astrology group tag frames it as a business-context compatibility calculation, distinguishing it from the broader relational/synastry siblings. It stops short of naming any sibling it should be chosen over, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of when a business team compatibility read is appropriate versus astroway_relational_synastry, astroway_business_ideal_partner_sign, or other compatibility tools, and no preconditions stated. The only contextual metadata is the group and credit cost, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_algol_minimumAlgol MinimumBRead-onlyIdempotentInspect
Find the nearest minimum brightness moment of Algol (Beta Persei), the eclipsing variable star, within a date range.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endDate | Yes | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| minima | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint, so the safety profile is fully covered by structured data. The description adds one genuinely useful behavioral fact beyond the annotations - the 10-credit (Tier 1) cost - but says nothing about return format, precision behavior, or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and wastes no words, and the bracketed group/cost metadata is compact. It is appropriately sized for a single-purpose lookup tool, though the metadata lines are formatting rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. The remaining gaps are the undocumented 'longitude' parameter and the absence of any disambiguation from the very similar sibling tool, which matters given the crowded Calendar & Cycles namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: 'fields' and 'precision' are documented in the schema, while 'startDate' and 'endDate' have no descriptions and 'longitude' is entirely opaque. The phrase 'within a date range' partially compensates for the two date parameters, but 'longitude' remains unexplained in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find'), resource ('minimum brightness moment of Algol (Beta Persei), the eclipsing variable star') and scope ('within a date range'), so the operation is unambiguous. However, it does not distinguish itself from the near-identical sibling 'astroway_calendar_algol_minimum_nearest', which an agent could easily confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no exclusions. Critically, it never routes the agent between this tool and the 'astroway_calendar_algol_minimum_nearest' sibling, leaving the choice entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_algol_minimum_nearestAlgol Nearest MinimumBRead-onlyIdempotentInspect
Find the single nearest Algol brightness minimum before or after a given date.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| jd | No | |
| date | No | |
| time | No | |
| hoursUntil | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description usefully adds the 'single nearest ... before or after' semantics, but omits tie-breaking (if the date sits equidistant between two minima) and any auth/cost behavior beyond the credit tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence stating the core behavior, followed by compact Group and Cost tags. No padding or redundancy, though the metadata lines slightly dilute the one-line payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the core lookup is stated. But for a 4-parameter tool with an unexplained 'longitude' input and no clarity on how 'nearest' resolves ties, the definition is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 50% schema description coverage, the description carries real burden it does not meet: the 'longitude' parameter is entirely undocumented anywhere, and 'date' has only a pattern, not a stated meaning or timezone/format convention. The description adds nothing to clarify these parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (find) and a precise resource (the single nearest Algol brightness minimum relative to a date), which is clear on its own. It does not, however, differentiate itself from the sibling astroway_calendar_algol_minimum, so an agent must infer which of the two Algol tools to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or mention of alternatives. The phrase 'before or after a given date' implies a proximity lookup, but nothing tells the agent when to prefer this over the plain Algol minimum tool or what input conditions apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_aspectsAspect MatrixBRead-onlyIdempotentInspect
Standalone aspect calculation: full inter-planetary aspect list with type / exactAngle / orb / isApplying. Uses per-pair astro.com orb matrix. Same calcAspects() as /chart but without planet positions / houses / midpoints overhead.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| aspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the bar is low, and the description still adds real behavioral context: the orb model used (per-pair astro.com matrix) and the cost (10 credits, Tier 1). It omits any auth or rate-limit notes, but the orb provenance is meaningful added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences that front-load the core purpose and then the differentiator, with group/cost metadata kept to bracketed tags. Nothing is padded, though the cost line is boilerplate rather than tool-specific guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description does cover what the tool produces. The gap is on the input side: for a 15-parameter tool with 33% schema coverage, the description leaves most parameter meaning and several sidereal/house-system choices undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description must compensate for the undocumented inputs, yet it names none of them (date, time, latitude, longitude, ayanamsa, houseSystem, zodiacType). The only field list it gives (type/exactAngle/orb/isApplying) describes the output, not the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (aspect calculation) and enumerates the returned aspect fields (type, exactAngle, orb, isApplying). It clearly distinguishes itself from the full chart endpoint, but does not differentiate itself from sibling aspect tools like astroway_aspects_aspect_bar or astroway_aspects_parallel_aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'same calcAspects() as /chart but without planet positions / houses / midpoints overhead' implies you should use it when you only need aspects, which is a usable hint. However there is no explicit when-to-use vs when-not-to-use statement and no mention of the many sibling aspect tools an agent could pick instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_cyclic_indexCyclic IndexBRead-onlyIdempotentInspect
Calculate the André Barbault Cyclic Index, sum of all outer planet separations, for a date range to indicate global crisis periods.
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| pairs | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endYear | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startYear | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| count | No | |
| endYear | No | |
| startYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (read-only, idempotent, non-destructive, closed-world), so the description adds the cost tier (100 credits, Tier 4) and group, which is useful operational context. It does not disclose the computation basis for the outer planet pairs or any rate/side-effect nuance. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence stating the computation, its formula, and its purpose, followed by compact group/cost tags. No wasted prose, though the bracketed metadata adds little beyond what tooling may already expose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a computation/analysis endpoint with an output schema and full annotations, both of which relieve the description of return-value and safety burden. However, the undocumented 'pairs' parameter and the missing contrast with sibling cycle tools leave meaningful gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% and the description compensates minimally, implying only the startYear/endYear date range. The 'pairs' parameter has no description anywhere, and 'fields'/'precision' compact-mode behavior is left entirely to the schema. For 5 parameters, the description does not fill the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: it computes the André Barbault Cyclic Index, defines it ("sum of all outer planet separations"), and scopes it to a date range. This is distinguishable from most siblings, though it does not explicitly contrast with close cousins like astroway_calendar_planetary_cycles or planetary_phases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "to indicate global crisis periods" implies the analytical purpose and gives some context for use, but there is no explicit when-to-use/when-not guidance and no named alternative among the many calendar tools. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_eclipsesEclipsesBRead-onlyIdempotentInspect
Find solar and lunar eclipses within a given year or multi-year range. Returns type, date, and geographic visibility data.
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| yearsRange | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| eclipses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds genuine extra context — that results carry type, date, and geographic visibility data, and that the call costs 100 credits (Tier 4) — but says nothing about result volume, pagination, or whether the year/range inputs interact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the capability stated first and the return contents second; the bracketed group/cost metadata is compact and skimmable. No filler, though the cost/group lines are boilerplate rather than description prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is not strictly required, and the description does gesture at it. However, for a tool with a required-but-nullable year, an undocumented range cap, and two nearby eclipse siblings, the description leaves the agent short of what it needs to choose and call confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are documented in the schema, while 'year' (nullable but required) and 'yearsRange' (max 20) are not. The description's 'year or multi-year range' hint loosely maps to those two params, but does not explain the required-but-nullable year, the 20-year cap, or how the two interact — so it only partly compensates for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Find') plus a precise resource ('solar and lunar eclipses') and scope ('within a given year or multi-year range'). It clearly distinguishes itself from generic calendar tools, but never acknowledges the close siblings astroway_geo_eclipse_analysis or astroway_render_eclipse_path, which an agent would reasonably confuse with this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'within a given year or multi-year range' implies when the tool applies, but there is no explicit when-to-use guidance, no exclusion of overlapping siblings, and no statement of prerequisites. Usage must be inferred from the purpose sentence alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_housesHouse CuspsARead-onlyIdempotentInspect
Standalone house calculation: 12 cusps + ascendant + MC + ARMC + vertex + co-asc + polar-asc. Supports Placidus, Koch, Regiomontanus, Campanus, Topocentric, Whole Sign, Equal, Porphyry, Morinus etc. Auto-fallback warning on |lat|>66.5° quadrant systems.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| houses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only/idempotent safety, and the description adds real behavioral context beyond them: automatic fallback warning when |lat| > 66.5° for quadrant systems, plus the list of supported house systems. It does not mention cost implications or fallback target system, but the polar-latitude caveat is valuable and non-obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the first clause states what is computed, the second names systems, the third flags the edge case. No padding, and the group/cost tags are structured metadata rather than prose. Slightly compressed to the point of terseness but no wasted sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-format explanation is not required, and the description usefully enumerates the returned points anyway. However, for a 15-parameter tool at 33% schema coverage with no output-schema reliance for params, the description leaves several inputs (cosmogram, name/city, date/time handling) undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters. The description names the house-system families (Placidus, Koch, Regiomontanus, etc.), which maps names onto the opaque enum codes, and its latitude caveat relates to the latitude parameter. But date/time/longitude, cosmogram, name and city go unaddressed in prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Standalone house calculation') and enumerates exactly what is returned: 12 cusps, ascendant, MC, ARMC, vertex, co-asc, polar-asc. The word 'Standalone' signals it is distinct from the full-chart sibling (astroway_western_chart), though no sibling is named outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage only: 'Standalone' suggests reach for this when only houses are needed rather than a full chart, but there is no explicit when-to-use, when-not-to-use, or named alternative. An agent must infer the routing decision itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_ingressesPlanet IngressesBRead-onlyIdempotentInspect
Find all sign ingresses for a planet within a date range (including retrograde re-entries).
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endDate | Yes | ||
| planetId | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ingresses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuinely new behavioral context beyond that: retrograde re-entries are included in the result set, and the call costs 100 credits (Tier 4), which is operationally relevant for an agent budgeting calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence front-loads the core behavior, followed by short structured group/cost tags. Nothing is wasted, though the bracketed metadata is boilerplate rather than informative prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. For a 5-parameter tool the description covers the essential inputs, the retrograde nuance, and cost, but omits any routing guidance among the many calendar siblings and says nothing about the compact-mode options, leaving a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: planetId, startDate, and endDate have no schema descriptions, and the description compensates by naming the planet and date range as the operative inputs. It says nothing about the two optional compact-mode parameters (fields, precision), though those are already documented in the schema, so the net compensation is adequate but not deep.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Find all sign ingresses for a planet within a date range') and adds a scope qualifier ('including retrograde re-entries') that clarifies the semantics of 'ingress'. It does not, however, distinguish itself from close siblings such as astroway_calendar_retrograde_periods or astroway_calendar_planetary_cycles, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative. The agent is left to infer from the date-range/planet framing that this is a time-window scan, with nothing steering it away from overlapping tools like retrograde_periods or planetary_cycles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_lunar_calendarLunar CalendarARead-onlyIdempotentInspect
Calculate a lunar calendar for a given month: Moon sign per day, lunar phases, void-of-course windows, and perigee/apogee.
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | ||
| month | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | No | |
| month | No | |
| phases | No | |
| dailyInfo | No | |
| ingresses | No | |
| moonAspects | No | |
| voidPeriods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false, openWorld=false, so safety is covered. The description adds genuinely useful non-annotation context: the 100-credit Tier 4 cost, which lets an agent weigh whether the call is worth it. Return-format detail is light but the output schema exists, so this is the right area to add value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler, followed by compact bracketed metadata for group and cost. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, two-required-param aggregation tool with an output schema, the definition covers purpose, contents, and cost adequately. The only real gap is the absence of any usage/routing guidance, which is minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: the non-obvious params (fields, precision) are documented in the schema, while year/month are self-explanatory from their names. The description adds nothing beyond "given month" — no format hints, ranges, or defaults — so it neither compensates nor detracts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Calculate") and resource ("a lunar calendar for a given month"), then enumerates the outputs (Moon sign per day, lunar phases, VOC windows, perigee/apogee). The enumeration implicitly distinguishes it from the single-purpose siblings astroway_calendar_moon_phase and astroway_calendar_moon_voc, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only says "for a given month" — there is no when-to-use vs. when-not guidance and no routing to alternatives like the individual moon-phase or VOC tools. An agent must infer the aggregation-vs-single-purpose distinction entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_moon_aspectsMoon AspectsBRead-onlyIdempotentInspect
Calculate all aspects the Moon makes within a date range (applying and separating), useful for electional and horary work.
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | ||
| month | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| events | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the safety burden is off the description. The description adds that both applying and separating aspects are returned and discloses a 100-credit (Tier 4) cost, which is genuinely useful pre-call information, but says nothing about result volume, pagination, or lat/long input needs for this kind of calculation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of substance plus two bracketed metadata tags; the purpose leads and nothing is padded. Only minor drag from the metadata blocks, which are arguably infrastructural rather than descriptive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be described, and the core operation is stated. Still, in a namespace with dozens of calendar and aspect tools, the description does not supply the disambiguating detail (Moon-to-planet only? all aspect types? transit vs. natal?) that would let an agent pick this tool confidently over its near neighbors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: only fields and precision are documented, while the required year and month have no schema descriptions. The description's "within a date range" is the only hint about their meaning, and it is actually misleading since no day or time parameter exists in the schema, so the framing of a date range is never reconciled with the year+month inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (calculate), a specific resource (aspects the Moon makes), and a scope (within a date range, including applying and separating). This is clearly narrower than the generic astroway_calendar_aspects, though it never names that sibling to make the distinction explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Useful for electional and horary work" gives a domain context, which implies when an agent would reach for it. However, there is no statement of when to prefer this over astroway_calendar_aspects, astroway_calendar_moon_voc, or astroway_aspects_aspect_timeline, all of which sit in the same decision space.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_moon_phaseMoon PhaseBRead-onlyIdempotentInspect
Current moon phase at a given moment: illumination %, age in days, elongation, waxing/waning, sun + moon zodiac signs. Geocentric Sun-Moon elongation per Meeus Ch.48.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| phase | No | |
| waxing | No | |
| ageDays | No | |
| sunSign | No | |
| moonSign | No | |
| phaseName | No | |
| majorPhase | No | |
| sunLongitude | No | |
| elongationDeg | No | |
| moonLongitude | No | |
| illuminationPercent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the algorithmic basis (Meeus Ch.48, geocentric) and the 10-credit consumption cost. It still says nothing about geographic sensitivity, caching, or rate limits, so it adds moderate rather than rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the computed outputs front-loaded, followed by a compact methodology note and bracketed metadata. No filler or redundancy, though the group/cost tags are appended rather than integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description correctly focuses on what is computed. However, with 15 parameters at 33% schema coverage and no usage guidance, the definition is incomplete for an agent trying to assemble a correct call — particularly around whether location is truly needed for a phase value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description must carry more of the burden and does not. It never mentions the four required inputs (date, time, latitude, longitude), the timezone vs timezoneOffset interaction, ayanamsa/zodiacType choices, or the compact-mode fields/precision options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource and enumerates exactly what is computed: illumination %, age in days, elongation, waxing/waning, and sun/moon zodiac signs, plus the method (Meeus Ch.48 geocentric Sun-Moon elongation). An agent knows precisely what this produces. It does not, however, distinguish itself from closely named siblings such as astroway_render_moon_phase or astroway_calendar_lunar_calendar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites (e.g. that latitude/longitude and a local date/time are mandatory), and no routing to alternatives like the moon-phase renderer or the lunar calendar. The bracketed group/cost tags are metadata, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_moon_vocMoon Void-of-CourseBRead-onlyIdempotentInspect
Find Moon void-of-course periods within a date range. The Moon is VOC from its last aspect until it enters the next sign.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| rangeDays | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| periods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, read-only, idempotent, non-destructive operation, so safety behavior is covered. The description adds the VOC definition and a credit cost tier, but says nothing about output shape, rate limits, or how periods are bounded/returned when none occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the concept definition front-loaded, plus compact bracketed metadata for group and cost. No filler, though the group/cost tags are somewhat boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. Still missing are sibling differentiation and any explanation of the three undescribed parameters, leaving the agent with questions before invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 57% — 'date', 'time', and 'rangeDays' have no schema descriptions at all. The description mentions only 'within a date range', which hints at rangeDays but does not explain the date/time format, the meaning of rangeDays, or how date+time+rangeDays combine. It fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Find Moon void-of-course periods') and even defines the domain concept (last aspect until next sign ingress). However, it does not differentiate this from closely related siblings such as astroway_calendar_moon_phase, astroway_calendar_lunar_calendar, or astroway_calendar_moon_aspects, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use / when-not-to-use guidance and no mention of any alternative tool. The sibling set contains at least three other Moon-calendar tools, so the absence of routing information is a real gap; usage must be inferred from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_planetary_cyclesPlanetary CyclesBRead-onlyIdempotentInspect
Find all conjunctions between two planets within a date range, defining the start of a new synodic cycle.
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endDate | Yes | ||
| planet1Id | Yes | ||
| planet2Id | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| conjunctions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful non-schema behavior: the cost (100 credits, Tier 4), which lets an agent budget. It says nothing about result volume, date-range limits, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded, followed by structured group and cost tags. Nothing is padded, though the bracket metadata is arguably presentation rather than description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. The remaining gaps are the planet ID domain and any range/limit constraints, which are modest for a read-only query tool but still real.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, and the two documented parameters (fields, precision) are the optional ones. The description compensates for the undocumented required parameters by conveying their meaning (two planets plus a date range), but it never explains what a planet ID actually is or its valid domain, which is the key ambiguity for the caller.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Find all conjunctions between two planets within a date range,' which tells an agent exactly what is computed. It adds the domain framing ('start of a new synodic cycle'), but it never distinguishes itself from close siblings such as astroway_calendar_aspects or astroway_aspects_aspect_timeline, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative among the many calendar/aspect siblings. The phrase 'defining the start of a new synodic cycle' hints at the analytical intent but does not tell the agent when this tool is preferable to a generic aspect search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_planetary_hoursPlanetary HoursARead-onlyIdempotentInspect
Chaldean planetary hours for a date and place: 12 from sunrise to sunset and 12 from sunset to sunrise, so an hour is rarely 60 minutes. startHour and endHour are decimal local hours. Send atLocalHour (decimal local time, e.g. 15.2 for 15:12) to have the hour containing it marked isCurrent; without it no hour carries the field, because the answer is cacheable and a fla…
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| atLocalHour | No | Local time of day in decimal hours, e.g. 15.2 for 15:12. When sent, the hour containing it carries isCurrent: true and every other hour carries false. When omitted, no hour carries the field at all: it is not false, it is unasked. | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| hours | No | |
| latitude | No | |
| sunTimes | No | |
| timezone | No | |
| dayOfWeek | No | |
| longitude | No | |
| dayRulerPlanetId | No | |
| dayRulerPlanetName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety load is largely carried. The description adds real behavioral context beyond that: the cacheable-result rationale for why isCurrent is omitted rather than false, and the note that hours are rarely 60 minutes long. It does not mention auth, rate limits, or credit cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, followed by the structural detail and the parameter behavior. Sentences are dense but each carries information; the truncated trailing clause suggests the entry is tight rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What remains — the purpose, the hour structure, and the isCurrent/atLocalHour contract — is all present, so an agent has what it needs to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 63%, and the schema itself already documents atLocalHour, timezone, timezoneOffset, fields, and precision in detail. The description's atLocalHour explanation largely duplicates the schema, and startHour/endHour it references are outputs, not inputs, so net added parameter meaning is marginal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a precise verb+resource: 'Chaldean planetary hours for a date and place,' and even explains the 12+12 unequal-hour structure, so an agent immediately knows this is the planetary-hours calculator rather than a general calendar tool. It stops short of naming any sibling (e.g. moon_phase, hours vs. sun_times) to disambiguate within the dense calendar group.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no routing to alternatives among the many calendar siblings. The only conditional logic explained is the internal atLocalHour toggle, which is about output shape, not about selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_planetary_phasesPlanetary PhasesBRead-onlyIdempotentInspect
Calculate the synodic phase of each planet relative to the Sun (new, crescent, first quarter, gibbous, full, disseminating, last quarter, balsamic).
[Group: Calendar & Cycles] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| phases | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description adds one genuinely useful behavioral fact not in the annotations — the 20-credit (Tier 2) cost — but says nothing about rate limits, whether results depend on the observer's location, or how the phase set is computed. With annotations carrying the safety burden, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the operation, the scope ('each planet relative to the Sun'), and the full phase vocabulary, followed by compact group/cost metadata. Nothing is wasted, though the enumerated phase list could be trimmed since the output schema presumably carries the values.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. However, for a 15-parameter tool with only 33% schema coverage, the description omits why latitude/longitude are required for a planetary-phase calculation and how ayanamsa/zodiacType affect the result. Minimum viable, with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters at all, and schema description coverage is only 33% across 15 parameters. Several undocumented parameters (cosmogram, zodiacType, houseSystem) plausibly alter the computed phases, yet the description does not explain any of them. With coverage below 50%, the description was expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Calculate the synodic phase of each planet relative to the Sun,' and enumerates the eight phase names so the agent knows exactly what output to expect. It is distinguishable from astroway_calendar_moon_phase by the phrase 'each planet,' but the description never names that sibling or otherwise explicitly differentiates itself from the surrounding calendar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative. The only routing signal is the bracketed '[Group: Calendar & Cycles]' label, which is category metadata rather than usage guidance. An agent must infer from the tool name alone when this beats astroway_calendar_moon_phase or astroway_calendar_planetary_cycles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_retrograde_periodsRetrograde PeriodsBRead-onlyIdempotentInspect
Find all retrograde stations (direct, retrograde, stationary) for a planet within a date range.
[Group: Calendar & Cycles] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endDate | Yes | ||
| planetIds | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| periods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so safety is covered. The description adds genuinely new context: the 50-credit Tier 3 cost and the Calendar & Cycles grouping, both useful for selection. It says nothing about output shape or the meaning of 'stations' beyond the three states, but the output schema covers returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded single sentence followed by compact metadata lines for group and cost; nothing is bloated. It is efficient, though slightly terse given the parameter set it must cover.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and annotations cover return values and safety, so the burden is reduced. What is missing is how to specify planetIds (opaque integer IDs with no description or enum) and no guidance for the date range, leaving an agent unsure how to construct a valid call for anything but default planets.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%; planetIds and the two date params carry no schema descriptions. The description partially compensates by naming the planet concept and the date-range bound, mapping loosely to planetIds/startDate/endDate. It adds nothing about precision or fields, and gives no hint on planet ID enumeration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: finding retrograde stations (direct/retrograde/stationary) for a planet over a date range. The scope is clear enough to distinguish from most siblings, but it never differentiates itself from near-neighbors like astroway_calendar_planetary_cycles or astroway_calendar_ingresses, which also return timed station/transition events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives, no prerequisites. The description implies you supply a planet and a date range but never says when this tool is preferable to the other calendar tools that surface retrograde-adjacent events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_feng_shui_annual_starsAnnual flying stars and afflictionsBRead-onlyIdempotentInspect
The nine annual stars for a solar year, plus Tai Sui, Sui Po, San Sha, the five yellow and the two black with the sectors they occupy. Optionally the monthly layer. The year turns at Li Chun, computed from the exact solar term.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| time | No | ||
| year | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| includeMonthly | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palaces | No | |
| solarYear | No | |
| centreStar | No | |
| yearBranch | No | |
| afflictions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, closed-world safety. The description adds genuine value beyond them by disclosing the year-boundary rule (the year turns at Li Chun, computed from the exact solar term), which affects how a given input date is interpreted. It does not describe pagination, return shape, or the interaction of date/year/time inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences that enumerate the outputs first and the optional layer and year boundary after. No padding, though jargon density means a non-domain reader gains little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Percentages: an output schema exists so return values need not be explained, and annotations carry the safety profile. But for a 9-parameter tool with 44% coverage and a near-duplicate sibling, the definition leaves the input contract and tool-selection decision underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Nine parameters at 44% schema coverage, so the description must carry more weight than it does. It maps 'Optionally the monthly layer' to includeMonthly, but says nothing about how date, year, time, timezone, or fields interact or which should be supplied. The parameter surface is left largely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: the nine annual stars for a solar year plus named afflictions (Tai Sui, Sui Po, San Sha, five yellow, two black) with sectors, and an optional monthly layer. Clear what is produced, but it never distinguishes itself from the near-identical sibling astroway_chinese_feng_shui_flying_star, so an agent cannot route between them from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only implicit guidance: 'Optionally the monthly layer' hints at when to add the monthly data. There is no statement of when this tool is preferred over astroway_chinese_feng_shui_flying_star or the other feng-shui siblings, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_feng_shui_baguaBagua Life AreasCRead-onlyIdempotentInspect
Eastern-school Bagua mapping of 9 life areas (career, knowledge, family, wealth, fame, relationships, children, helpful-people, health) onto compass sectors.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| gender | Yes | ||
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| solarYear | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bagua | No | |
| group | No | |
| notes | No | |
| kuaNumber | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds no behavioral context beyond the topic — nothing about how date/gender drive the result, determinism, or any constraints, so it does not earn credit above the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus group/cost metadata; no filler. The parenthetical enumeration of the nine life areas is long but carries real information, though the overall text is thin for a 9-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But with 9 parameters, 44% schema coverage, required gender/date whose roles are unexplained, and no usage guidance, the definition is not complete enough for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 44% across 9 parameters, and the description mentions none of them. Critically, it never explains why 'gender' and 'date' are required (kua number derivation) — a domain-specific semantic an agent cannot recover from the schema, which just lists an enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource ('Eastern-school Bagua mapping of 9 life areas ... onto compass sectors') and enumerates the nine areas, so an agent knows exactly what is produced. It does not explicitly contrast itself with close siblings such as astroway_chinese_feng_shui_lucky_directions or astroway_chinese_feng_shui_kua, which also deal with sectors/directions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use statement, no prerequisites, and no alternatives named among the many feng shui siblings (flying_star, kua, annual_stars, lucky_directions). The agent must infer from the name alone whether this is the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_feng_shui_flying_starFlying Star natal chart (Xuan Kong Fei Xing)ARead-onlyIdempotentInspect
The nine-palace natal chart of a building: mountain star, period star and facing star per sector, the named arrangement (旺山旺水 and the other three), and the special patterns. Send the facing in degrees or as one of the 24 mountains, and the period directly or as the date the building was occupied. Neither is defaulted.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| facing | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| period | No | ||
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| occupiedDate | No | ||
| occupiedTime | No | ||
| facingMountain | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| facing | No | |
| flight | No | |
| period | No | |
| palaces | No | |
| sitting | No | |
| patterns | No | |
| warnings | No | |
| chartType | No | |
| annualYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the two key inputs are not defaulted, which is useful, but discloses nothing about rate limits, auth, or computation behavior. Adequate but not rich beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool produces and then how to feed it. Every clause earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with 0 required fields and an output schema present, the description covers the two decisive inputs and notes they are mandatory in practice. It omits the role of year and language, but since the output schema covers return values and three params carry their own schema descriptions, the remaining gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 30% schema description coverage, the description compensates well by reconciling the input alternatives: facing vs facingMountain (degrees or 24 mountains) and period vs occupiedDate (direct period or occupation date). It leaves year, language and occupiedTime unexplained, but it adds real meaning over the raw schema for the critical parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and its contents: 'the nine-palace natal chart of a building: mountain star, period star and facing star per sector, the named arrangement... and the special patterns.' This distinguishes it clearly from siblings like astroway_chinese_feng_shui_annual_stars or _kua, which cover different Feng Shui computations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear input guidance ('Send the facing in degrees or as one of the 24 mountains, and the period directly or as the date the building was occupied') and warns 'Neither is defaulted,' which is essential since no parameter is formally required. It does not, however, name an alternative tool or state exclusions versus sibling tools, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_feng_shui_kuaKua NumberBRead-onlyIdempotentInspect
Personal Kua number from solar-year digit sum + gender. Maps to East/West group for direction work.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| gender | Yes | ||
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| solarYear | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| group | No | |
| gender | No | |
| kuaNumber | No | |
| solarYear | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description only needs to add context. It does add two useful facts: the cost tier (10 credits, Tier 1) and that the computation is keyed to the *solar* year, which is a real behavioral subtlety. However it omits edge cases (birth dates near the Chinese New Year boundary, effect of the time/timezone inputs) and does not say what the returned group field contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core computation front-loaded, followed by group/cost metadata tags. No filler or repetition, though the bracketed metadata lines are boilerplate rather than description content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple birth-data calculation this is roughly minimum viable: the required inputs are implied, annotations cover safety, and an output schema exists so return values need not be described. The gap is input guidance for the seven optional parameters, which are neither explained nor flagged as ignorable for this particular computation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 44% across 9 parameters. The description conceptually covers the two required inputs (date via "solar-year digit sum", gender) but says nothing about the seven optional plumbing parameters (time, timezone, timezoneOffset, solarYear, fields, precision, language) or how solarYear relates to date. With low coverage the description should compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific computed artifact ("Personal Kua number") and its derivation ("solar-year digit sum + gender"), plus the output grouping (East/West). It is clearly not the same as bagua, flying_star, or annual_stars, though it does not name a sibling to distinguish itself from lucky_directions, which consumes the same grouping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Maps to East/West group for direction work" implies the downstream use case, so usage is inferable but never stated. There is no explicit when-to-use, when-not-to-use, or pointer to the sibling (lucky_directions) that consumes this output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_feng_shui_lucky_directionsLucky / Unlucky DirectionsBRead-onlyIdempotentInspect
Personal 4 lucky + 4 unlucky compass directions from Kua. Standard Pa Kua mapping.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| gender | Yes | ||
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| solarYear | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| group | No | |
| lucky | No | |
| unlucky | No | |
| kuaNumber | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds real context by disclosing the method (derived from Kua, standard Pa Kua mapping), which is useful, but says nothing about output shape or assumptions beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core output front-loaded, plus a group/cost tag. No waste, though it is arguably too terse for a 9-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the read-only annotations cover safety. However, for a 9-param tool with low schema coverage and no usage guidance, the definition leaves an agent short of what it needs to choose this over the Kua sibling and to populate non-required params.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 44% across 9 parameters, and the description contributes no parameter-level meaning at all. The phrase 'from Kua' weakly implies a birth date and gender are needed, but the many optional params (fields, precision, timezone, timezoneOffset, language) remain unexplained here and largely undocumented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific output (4 lucky + 4 unlucky compass directions) and the derivation basis (Kua / Pa Kua mapping), which is concrete enough to distinguish it from the generic sibling astroway_chinese_feng_shui_kua. It does not explicitly name the sibling it differs from, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives. With a closely related sibling (astroway_chinese_feng_shui_kua) that yields the underlying Kua number, the omission of any 'use X for the number, this for the directions' guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_lunar_dateGregorian to Lunar DateBRead-onlyIdempotentInspect
Chinese lunar month and day for a Gregorian date, including leap-month detection, plus the Chinese New Year of that year.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lunar | No | |
| gregorianDate | No | |
| chineseNewYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds the useful fact that leap months are detected and that the year's Chinese New Year is returned, plus the cost tier, but says nothing about the effect of the time/timezone inputs on the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the transformation and its outputs, followed by standardized group/cost tags. No filler; the only mild overhead is the bracketed metadata that is templated across the toolset.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the safety profile is covered by annotations. However, for a 7-parameter tool with 57% schema coverage and no usage guidance, the definition is only minimally adequate: an agent gets the 'what' but not the 'when' or the parameter implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 57% schema description coverage and 7 parameters, the description compensates for almost nothing: it alludes to 'a Gregorian date' (the required param) but is silent on time, timezone, timezoneOffset, precision, fields, and language. The richest schema hints (timezone offset rules, precision) are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it converts a Gregorian date into the Chinese lunar month/day and names two concrete outputs (leap-month detection and that year's Chinese New Year). That is enough to distinguish it from generic calendar siblings, but it never contrasts itself with the closely named astroway_calendar_lunar_calendar or nearby Chinese tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives such as astroway_calendar_lunar_calendar or astroway_chinese_solar_terms, which sit right next to it. The agent must infer applicability purely from the purpose sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_solar_terms24 Solar Terms (節氣)BRead-onlyIdempotentInspect
The 24 solar terms of a Chinese solar year as exact instants, in UTC and Beijing time. Twelve of them open a BaZi pillar month; the other twelve decide where a leap month falls.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | No | |
| notes | No | |
| terms | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, and the description adds useful domain context (UTC/Beijing time output; role in BaZi and leap months). It does not add operational details such as whether all 24 terms are always returned, count limits, or how language affects output. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the main resource and then the domain role; the group/cost tags are metadata and don't bloat the prose. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity lookup with an output schema, the description establishes what the tool returns and why it matters. It leaves open the when-to-use decision and two undocumented input parameters, so an agent still has gaps before invoking it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: fields and precision have descriptions, while year and language do not. The description adds no parameter-level meaning, such as whether fields supports solar-term paths, what language controls, or why year is bounded 2–2899. It fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States exactly what is returned: the 24 solar terms for a given Chinese solar year as exact instants in UTC and Beijing time. It even explains the 12/12 split between BaZi pillar months and leap-month determination, so the resource and its significance are clear. It does not explicitly differentiate itself from nearby Chinese-calendar siblings, so 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains what the data is for (BaZi month boundaries and leap-month placement) but never states when to call this instead of alternatives like astroway_bazi_month_pillar, astroway_chinese_lunar_date, or astroway_chinese_tong_shu. Usage is implied by domain context, not directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_tong_shuTong Shu day: officer and mansionBRead-onlyIdempotentInspect
The almanac reading of one day: day pillar, the day officer (建除十二神) with what the register endorses and forbids, the 28 mansion with its quadrant and planet, and the animal the day clashes.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| clash | No | |
| notes | No | |
| mansion | No | |
| officer | No | |
| dayPillar | No | |
| solarYear | No | |
| monthBranch | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: it discloses the credit cost (10 credits, Tier 1) and the group, which an agent needs for planning. It stops short of describing format, pagination, or any rate/limit behaviour.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense but well-structured sentence front-loads the core purpose and output list, followed by two short bracketed metadata lines (group, cost). There is no filler, though the single sentence is somewhat list-heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description usefully signals what the payload contains. However, with 7 parameters at 57% coverage and no usage guidance versus the tong_shu_select sibling, the definition leaves an agent guessing about routing and about the un-documented date/time/language parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 57%, and the description adds no parameter meaning whatsoever — nothing about date, time, language, or how 'fields'/'precision' compact mode interacts with this endpoint. The rich timezone/timezoneOffset descriptions live in the schema, not the description, so the description does nothing to close the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('the almanac reading of one day') and enumerates the exact contents returned: day pillar, day officer (建除十二神) with endorsements/forbids, the 28 mansion with quadrant and planet, and the clash animal. That is far more concrete than the name alone. It does not, however, distinguish this single-day tool from the close sibling astroway_chinese_tong_shu_select, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement. The phrase 'the almanac reading of one day' implies a single-date scope and hints at a range-selecting sibling, but no alternative is named and no prerequisite or selection condition is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_tong_shu_selectTong Shu date selectionARead-onlyIdempotentInspect
Walk a date range and return the days the almanac endorses for one activity, each with the officer that decided it. Optionally drop the days that clash a person's animal. Range capped at 366 days and a longer one is refused, not truncated.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| from | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| activity | Yes | ||
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| avoidClashWith | No | ||
| includeNeutral | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| days | No | |
| dropped | No | |
| matched | No | |
| scanned | No | |
| activity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: a 366-day range cap that hard-refuses rather than truncates, and the optional clash filter keyed to a person's animal. It stops short of noting cost/auth handling, which the separate cost line partly supplies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. The core behavior is front-loaded and the constraints (clash filter, range cap, refuse-not-truncate) follow immediately; nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and the description covers the main behavioral risks (range cap, refusal semantics, clash filtering). The gaps are the unaddressed includeNeutral and language parameters and the exact date format, which the schema pattern supplies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 25% schema description coverage across 8 parameters, the description must compensate and partly does: it clarifies activity (one per call), from/to as a walked range, and avoidClashWith as dropping animal-clash days. It says nothing about includeNeutral or language, leaving two parameters unexplained in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource: walks a date range and returns almanac-endorsed days for a single activity, each annotated with the deciding officer. This clearly separates it from the singular sibling astroway_chinese_tong_shu, which covers one date rather than a selection sweep.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is clearly articulated (pick auspicious days for one named activity, optionally excluding days that clash a person's animal), and the 366-day cap sets a boundary on valid input. It does not, however, name an alternative (e.g. the single-date tong_shu tool or the vedic_muhurat family) or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_true_solar_timeTrue solar timeBRead-onlyIdempotentInspect
The clock corrected to the sun over the birth longitude, split into the meridian term and the equation of time. China runs one zone across sixty degrees, so a Kashgar birth reads nearly three hours from solar noon on a Beijing clock, which moves the hour pillar.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | Yes | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| note | No | |
| input | No | |
| source | No | |
| dayShift | No | |
| clockTime | No | |
| methodology | No | |
| trueSolarTime | No | |
| hourBranchNote | No | |
| equationOfTimeMinutes | No | |
| totalCorrectionMinutes | No | |
| longitudeCorrectionMinutes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds conceptual behavior — that the result is split into a meridian term and equation of time, and that it can shift the hour pillar — which is useful context beyond the annotations, but it says nothing about precision limits, error cases, or dependence on the timezone/longitude inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core definition followed by one well-chosen illustrative example; the group and cost lines are metadata. Every sentence carries weight, though the example is slightly expansive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations cover safety. However, with 8 parameters at 50% coverage and no usage guidance, the definition leaves the agent to infer when and with what inputs to call it, which is a meaningful gap for a computation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, with date, time, longitude and language left undocumented in the schema. The description conceptually anchors the longitude input ('corrected to the sun over the birth longitude') and the timezone issue, but it adds no format or syntax detail and never mentions the compact-mode fields/precision parameters, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete computation — the clock corrected to the sun over the birth longitude, decomposed into meridian term and equation of time — so the agent knows this converts clock time to true solar time rather than producing a chart. It does not explicitly differentiate itself from related siblings like astroway_bazi_hour_pillar, which it only alludes to via 'which moves the hour pillar'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement, no prerequisite guidance, and no named alternative. The Kashgar example implies the tool matters for Bazi hour-pillar accuracy, but the agent must infer that context rather than being told to reach for this before a Bazi computation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_zodiac_animalChinese Zodiac AnimalARead-onlyIdempotentInspect
Animal sign of the birth year, bounded by the exact Lichun instant, plus the full pillar (stem + branch + element). Pass time + timezoneOffset for births on the boundary day.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| solarYear | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| stem | No | |
| glyph | No | |
| animal | No | |
| branch | No | |
| pillar | No | |
| element | No | |
| solarYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds real domain behavior beyond the annotations: the sign is determined by the exact Lichun instant rather than a calendar-year cut, which materially affects results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the output and then the boundary-case instruction; nothing is wasted. The trailing group/cost tags are metadata rather than prose, so they don't hurt the core definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the tz/offset/precision params are documented in the schema itself. For an 8-parameter tool the description covers the output and the one genuinely tricky input case, leaving only minor gaps such as solarYear's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% and the description adds meaning for two of the undocumented-in-prose parameters (time and timezoneOffset) by tying them to the boundary-day case. It says nothing about date, solarYear, language, or why offset and timezone are mutually exclusive, so it only partly compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a specific verb-less but concrete output: the Chinese zodiac animal sign of the birth year plus the full pillar (stem + branch + element), which is more than the name alone conveys. It distinguishes itself from other zodiac siblings by defining the Lichun boundary, though it doesn't explicitly contrast with astroway_chinese_zodiac_element or astroway_chinese_zodiac_inner_animal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete conditional (pass time + timezoneOffset for births on the boundary day), which is genuine when-to-use guidance for an edge case. However, it never states when to prefer this tool over the many neighbouring zodiac/bazi pillar tools, so routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_zodiac_compatibilityAnimal CompatibilityBRead-onlyIdempotentInspect
Pair compatibility score (0-100) using San He trine + Liu Chong conflict-pair canon.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| person1 | Yes | ||
| person2 | Yes | ||
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| person1 | No | |
| person2 | No | |
| compatibility | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, non-open-world behavior, so the safety profile is covered. The description adds two genuinely non-obvious facts: the score scale (0-100) and the metered cost (10 credits, Tier 1), plus the methodology. It says nothing about what happens with missing birth times or how the score is composed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence carries the whole meaning, followed by structured group/cost tags that are metadata rather than prose. Nothing is redundant; the only mild cost is that the tags occupy lines that could hold input guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be described, and annotations cover safety. What is missing is any input-side context for a nested two-person tool with 40% schema coverage – no note that birth dates are required or that time is optional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: person1.date, person2.date, time, language, and solarYear carry no schema description, and the description compensates for none of them. It never states that the tool takes two people's birth dates as its core input, leaving the required nested persons objects to be discovered from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (pair compatibility score), the output range (0-100), and the exact doctrinal basis (San He trine + Liu Chong conflict-pair canon), which is unusually precise. It does not name or differentiate itself from the nearest siblings (astroway_chinese_zodiac_animal, astroway_horoscope_compatibility, astroway_relational_match_score), so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives such as the Vedic ashtakoot or Western synastry compatibility tools. The agent must infer from the name and canon alone that this is the Chinese-zodiac-specific pairing tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_zodiac_elementChinese ElementCRead-onlyIdempotentInspect
Fixed-branch element + cycling-stem element + yin/yang for given solar year.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| solarYear | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yin | No | |
| solarYear | No | |
| description | No | |
| fixedElement | No | |
| cyclingElement | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is fully covered. The description adds a genuinely non-structured behavioral trait — the 10-credit Tier 1 cost — which is useful for a cost-aware agent, but says nothing about return shape, limits, or auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly written line front-loads the substantive output description, with group and cost tags after it. Nothing is wasted, though the tags are boilerplate rather than value-adding prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with four undocumented parameters, the description is thin. An output schema and annotations exist so return values and safety need not be restated, but the ambiguity between date and solarYear is left entirely unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, leaving date, time, language and solarYear undocumented. The description mentions 'given solar year' but does not clarify the crucial distinction between the required 'date' and the optional 'solarYear', nor how time/timezone interact with them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact outputs (fixed-branch element, cycling-stem element, yin/yang) and the input dimension (solar year), so the agent knows what this computes. It is distinguishable from siblings like chinese_zodiac_animal, though it never explicitly contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as chinese_zodiac_animal or chinese_feng_shui_bagua. The '[Group: Chinese: Zodiac & Feng Shui]' tag implies a domain but does not tell the agent when to select this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_zodiac_inner_animalInner Animal (month branch)CRead-onlyIdempotentInspect
Month-branch animal: represents inner motivations and private self.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| solarYear | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| glyph | No | |
| description | No | |
| innerAnimal | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds only the credit cost (10 credits, Tier 1) and the semantic domain; it says nothing about what the response contains or whether time is needed for a month-branch derivation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded: the purpose sentence comes first, followed by compact group/cost metadata. Nothing is padded, though the brevity is partly under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with only half the schema documented and no output explanation needed, the description should at least clarify the required date/time inputs and the month-branch dependency. It omits all of that, leaving an agent to infer call requirements from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50% across 8 parameters, and the description contributes zero parameter detail — it never mentions the required `date`, the optional `time`, or that month-branch determination depends on the solar term boundary. The description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific derived resource — the month-branch animal — and states its interpretive meaning ('inner motivations and private self'), which lets an agent distinguish it conceptually from the year animal. It does not, however, explicitly contrast itself with the close sibling astroway_chinese_zodiac_secret_animal, so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus astroway_chinese_zodiac_animal, astroway_chinese_zodiac_secret_animal, or astroway_chinese_zodiac_element. No prerequisites, no context about needing a birth date/time, and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_chinese_zodiac_secret_animalSecret Animal (hour branch)BRead-onlyIdempotentInspect
Hour-of-birth branch animal: represents the deepest self. Requires birth time.
[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| solarYear | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| glyph | No | |
| description | No | |
| secretAnimal | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, idempotent, closed-world read, and the description does not contradict them. It adds the genuine prerequisite that a birth time is needed, plus the credit cost, but says nothing about what the response contains or what happens if time is omitted (the schema marks only date as required).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, with the core definition front-loaded and the prerequisite second. The group and cost tags are boilerplate metadata but short and informative; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values need not be explained since an output schema exists, and the prerequisite is stated. For a domain with four near-identically named zodiac siblings, though, the definition leaves the agent without enough to reliably pick this tool over inner_animal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 50% schema description coverage across 8 parameters, the description's 'requires birth time' usefully elevates the `time` parameter beyond its optional schema status. However, it adds nothing about date format, timezone/timezoneOffset interaction, or the compact-mode fields, leaving half the surface undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: the hour-of-birth branch animal, with a plain-language gloss ('represents the deepest self'). That distinguishes it from the year-based astroway_chinese_zodiac_animal, but it never names the closest sibling, astroway_chinese_zodiac_inner_animal, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Requires birth time' is a real prerequisite, which is more than most sibling definitions offer. It still gives no when-to-use or when-not-to-use guidance relative to zodiac_animal, inner_animal, or zodiac_element, so selection relies on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_content_localization_translate_astroTranslate (astro-aware)ARead-onlyIdempotentInspect
Translate one text into any of 21 languages with astrology-domain glossary pinning. Source defaults to English; pass source_lang to override. Credits: 15 + ceil(chars/40). Max 3000 chars.
[Group: Content Localization] [Cost: 16 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| domain | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| source_lang | No | ||
| target_lang | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| chars | No | |
| domain | No | |
| credits | No | |
| provider | No | |
| translated | No | |
| source_lang | No | |
| target_lang | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds genuinely new behavioral facts: a concrete credit formula, a 3000-char ceiling, and glossary pinning as a translation behavior. No contradictions with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the capability, default, and limits front-loaded, followed by bracketed metadata. Minor redundancy between 'Credits: 15 + ceil(chars/40)' and '[Cost: 16 credits (Tier 1)]', but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations carry the safety profile. Cost, limits, and the source default round out the picture; only the unexplained 'domain' parameter and the language-count mismatch keep it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description must compensate; it clarifies the source_lang default and the text length cap, which helps. However, the 'domain' parameter is never mentioned anywhere, and the stated '21 languages' does not match the 20-value enums for source_lang/target_lang, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Translate one text') and adds domain-scoping ('astrology-domain glossary pinning'), which is more than a restatement of the title. 'One text' implicitly separates it from astroway_content_localization_translate_batch, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a useful default rule ('Source defaults to English; pass source_lang to override'), but never says when to choose this over translate_batch (multiple texts) or translate_glossary_lang (glossary management). Usage is implied by 'one text' rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_content_localization_translate_batchTranslate batchARead-onlyIdempotentInspect
Translate up to 25 strings (≤2000 chars each, ≤20000 total) sharing one target language + domain. Credits: 15 + ceil(total_chars/40).
[Group: Content Localization] [Cost: 16 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| domain | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| source_lang | No | ||
| target_lang | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| chars | No | |
| count | No | |
| items | No | |
| domain | No | |
| credits | No | |
| source_lang | No | |
| target_lang | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely new behavioral context: per-string and per-batch size limits plus an explicit cost formula (15 + ceil(total_chars/40)), which is exactly the kind of cost/rate information annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core constraints and cost in a single tight sentence; the group and cost tags are compact metadata lines. Every element earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. Still, for a 6-parameter tool the description omits source_lang entirely and gives no sibling routing, leaving notable gaps; it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (33%), so the description must compensate. It does add real meaning: items are bounded (≤25, ≤2000 chars, ≤20000 total) and must share one target language + domain. However, source_lang is never mentioned, and the compact-mode fields/precision parameters (only explained in the schema) sit oddly against a translation tool with no description-level context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Translate up to 25 strings') and adds precise scope limits (2000 chars each, 20000 total, one shared target language + domain). It is clear and self-contained, but never distinguishes itself from the sibling translate_astro / translate_glossary_lang / translate_languages tools, which an agent selecting among them would want.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance. The batch/shared-domain framing implies bulk use, but nothing tells the agent when to pick this over the astro or glossary translation siblings, or what the single-string alternative is. The constraints imply a use case but leave selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_content_localization_translate_glossary_langGlossary downloadBRead-onlyIdempotentInspect
Download the astrology glossary for a target language. Query: ?source= (default en), ?domain= (default generic). Free (0 credits).
[Group: Content Localization] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| lang | Yes | Target language code, one of the active locales. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| domain | No | |
| entries | No | |
| source_lang | No | |
| target_lang | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safe read profile is covered. The description adds cost behavior, but then contradicts itself: 'Free (0 credits)' followed by '[Cost: see your plan — endpoint not in the public credit manifest]', which leaves the agent unable to know whether this costs credits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose in one sentence, then the query defaults and cost. The group/cost metadata lines are boilerplate but short; nothing egregious.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full parameter coverage, return values need not be explained. However, the self-contradictory cost line and the absent guidance on how this glossary relates to the translate_* siblings leave gaps for a localization-family tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so lang, fields and precision are already well documented and baseline 3 applies. The description instead describes query parameters that do not exist in the schema (?source, ?domain), which adds marginal, mildly confusing context rather than clarifying the actual inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Download the astrology glossary for a target language' — an agent can tell this retrieves glossary content rather than translating astro text (translate_astro) or listing locales (translate_languages). It does not explicitly name the closest siblings, but the noun 'glossary' separates it adequately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus the sibling translation/localization tools. It supplies default values for query options (source=en, domain=generic) and a cost note, but nothing about prerequisites or selection conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_content_localization_translate_languagesSupported languagesBRead-onlyIdempotentInspect
List the 21 supported language codes + names. Free (0 credits).
[Group: Content Localization] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| languages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description's only added behavioral claim is cost ('Free (0 credits)'), but it is immediately followed by '[Cost: see your plan — endpoint not in the public credit manifest]', an internally inconsistent billing signal that an agent cannot resolve.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is short and front-loaded, but the two bracketed metadata footers are boilerplate that duplicate billing intent and contradict the 'Free (0 credits)' claim, adding noise rather than value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter lister with an output schema (so return values need not be explained), stating the count and payload shape plus the compact-mode availability is close to sufficient. Only the missing guidance on how this feeds the translate_* tools leaves a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (fields, precision) are generic compact-mode response shapers documented in the schema itself. The description adds nothing about them, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the 21 supported language codes + names') with a concrete count, so an agent knows exactly what comes back. It is distinguishable from the translate_* siblings by being a pure listing, though it never names those siblings to confirm the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and the obvious alternative use cases in the same Content Localization group (translate_astro, translate_batch, translate_glossary_lang) are never mentioned. The only usage-adjacent signal is 'Free (0 credits)', which is about billing, not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cosmobiology_cosmogramCosmogram (90° Render Data)CRead-onlyIdempotentInspect
Ebertin cosmogram render data.
[Group: Cosmobiology / Hamburg School] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| withTnp | No | ||
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| points | No | |
| source | No | |
| aspects | No | |
| modulus | No | |
| methodology | No | |
| ringDegrees | No | |
| topPictures | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so safety and determinism are covered. The description adds genuinely useful context the annotations lack: the group membership (Cosmobiology / Hamburg School) and the cost of 10 credits (Tier 1), which matters for a paid call. It still says nothing about what the render actually returns or its computation traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loaded, and the bracketed group/cost lines do earn their place by conveying billing and taxonomy. However the substance is so thin that the brevity reads as under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter tool with 31% schema coverage, the description is far too sparse. It omits any explanation of the resource itself, offers no sibling routing, and leaves most parameters undocumented; only the presence of an output schema spares it a lower score on return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 31% across 16 parameters, so the description is expected to compensate and does not. Undocumented or thinly-documented parameters such as fields, precision, cosmogram, zodiacType, houseSystem and withTnp receive no explanation in the description text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Ebertin cosmogram render data' essentially restates the tool name and title (Cosmogram / 90° Render Data) without explaining what a cosmogram is or what output it produces. It offers no differentiation from close siblings like astroway_cosmobiology_dial_90, midpoint_pictures, or witte_formulas, all of which operate in the same 90° Hamburg School space.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-routing guidance anywhere in the description. An agent has no basis for choosing this over the many other cosmobiology render tools beyond the bare name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cosmobiology_dial_9090° DialCRead-onlyIdempotentInspect
All chart points in 90° cardinal modulus.
[Group: Cosmobiology / Hamburg School] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| withTnp | No | ||
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| points | No | |
| source | No | |
| modulus | No | |
| methodology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. The description adds genuinely useful behavioral context — the cost (10 credits, Tier 1) and the Cosmobiology/Hamburg School grouping — but says nothing about output shape or computation specifics beyond the modulus label.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence plus two bracketed metadata tags — no padding and the core statement is front-loaded. It is efficient, though the extreme brevity reflects under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter tool sitting among roughly ten cosmobiology siblings, the description omits what distinguishes the 90° dial, which parameters matter, and how results relate to the cosmogram tool. The output schema covers return values, but the selection and invocation context an agent needs is largely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 16 parameters and only 31% schema description coverage, several inputs (houseSystem codes, zodiacType, cosmogram, withTnp, name, city) are undocumented in both places. The description contributes zero parameter meaning — it never mentions date, time, coordinates, ayanamsa, or any of the dial-specific flags, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'All chart points in 90° cardinal modulus' names the resource (chart points) and the transformation (90° modulus), which is meaningful to a domain user. However, it supplies no verb and no differentiation from close siblings like astroway_cosmobiology_cosmogram, astroway_cosmobiology_eight_harmonic_aspects, or astroway_cosmobiology_midpoint_pictures, so an agent cannot tell which cosmobiology output this produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose the 90° dial over the cosmogram, midpoint pictures, or sensitive points siblings, and no statement of prerequisites or exclusions. The only framing is the group tag, which categorizes but does not instruct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cosmobiology_eight_harmonic_aspects8H Aspect GridCRead-onlyIdempotentInspect
22.5° / 45° / 67.5° / 90° / 135° aspects.
[Group: Cosmobiology / Hamburg School] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| withTnp | No | ||
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| orb | No | |
| count | No | |
| angles | No | |
| source | No | |
| aspects | No | |
| aspectNames | No | |
| methodology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is covered. The description adds genuinely useful non-annotation context — the cost (10 credits, Tier 1) and the Cosmobiology/Hamburg School grouping — but says nothing about output shape or behavioral limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is tightly front-loaded: the substantive content (the angles) leads, followed by two compact bracketed tags. Nothing is wasted, though the extreme brevity is under-specification rather than true economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter computation tool with low schema coverage, the description is far too thin. The output schema exists so return values needn't be explained, but the description still omits what the grid represents, how to interpret the angles, and any parameter guidance for a complex chart-calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 16 parameters and only 31% schema description coverage, the description carries a heavy compensation burden but adds nothing about parameters — it only lists aspect angles. Undocumented params such as city, date, name, withTnp, cosmogram, zodiacType and houseSystem are left entirely to the bare schema, so this falls below the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lists the specific aspect angles (22.5°/45°/67.5°/90°/135°), which conveys the domain content, but supplies no verb and never states that it computes an aspect grid. It also does nothing to distinguish this from sibling cosmobiology tools like dial_90 or midpoint_pictures, so an agent must infer the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative tools. The [Group] and [Cost] tags give classification and pricing context but no indication of when this tool should be selected over the many sibling cosmobiology tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cosmobiology_lefeldt_extensionsLefeldt ExtensionsCRead-onlyIdempotentInspect
Lefeldt-Brummund 22.5° subdivisions.
[Group: Cosmobiology / Hamburg School] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| withTnp | No | ||
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| orb | No | |
| source | No | |
| octants | No | |
| branches | No | |
| methodology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds a genuine behavioral fact not in the annotations — a 10-credit (Tier 1) cost — but says nothing about response shape, latency or pagination. With annotations carrying the main burden, a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here is under-specification rather than conciseness: two bracketed metadata fragments and a noun phrase that never forms a sentence about the operation. Nothing is wasted, but almost nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter computation with an output schema and rich annotations, the description omits what the result contains (subdivisions of what, in what unit), required inputs, and how it relates to the other cosmobiology tools. An output schema removes the need to describe return values, but the remaining gaps are substantial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 31% across 16 parameters, and the description mentions no parameter at all. Fields such as zodiacType, houseSystem, withTnp, cosmogram, name, city and precision are undocumented in the prose and mostly bare in the schema, so the description does nothing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment 'Lefeldt-Brummund 22.5° subdivisions' names a specific astrological technique, which is more than a tautology, but supplies no verb (compute/return a chart) and gives no basis for telling it apart from siblings such as cosmobiology_dial_90, cosmobiology_cosmogram or cosmobiology_witte_formulas. An agent without prior domain knowledge cannot tell what operation it performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only selection aid is the '[Group: Cosmobiology / Hamburg School]' tag, which at best locates the tool in a family among 45 siblings. There is no statement of when to use this tool, when not to, or which sibling to prefer for a related need.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cosmobiology_midpoint_picturesMidpoint PicturesCRead-onlyIdempotentInspect
A=B/C structures with sentence form.
[Group: Cosmobiology / Hamburg School] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| withTnp | No | ||
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| orb | No | |
| count | No | |
| source | No | |
| notation | No | |
| pictures | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds the cost tier (10 credits) and hints at output shape ("sentence form"), which is genuine behavioral context, but says nothing about permissions, rate limits, or output size. With annotations carrying the safety burden, a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, with no filler, but it is arguably under-specified rather than concise given the complexity of the tool. The bracketed Group/Cost tags are structured metadata rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter, domain-heavy cosmobiology tool, a single fragment is inadequate. Although an output schema exists (so return values need not be explained), the description does not compensate for the low schema coverage or orient the agent among the numerous sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 16 parameters with only 31% schema description coverage, so the description carries a heavy compensation burden — and it supplies zero parameter information. It does not explain date/time/lat/long, the sidereal options, houseSystem, precision, or fields, leaving several parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a domain-specific output construct ("A=B/C structures with sentence form"), which a cosmobiology practitioner would recognize as midpoint-picture notation rendered as sentences. However, it never states a verb or explicitly says this generates/computes a midpoint picture, and it does nothing to distinguish itself from siblings like transit_midpoints, sensitive_points, or witte_formulas. It is specific but opaque to a general agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative sibling tool. The agent is left to infer from the name alone whether this is the right tool versus the many other cosmobiology tools listed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cosmobiology_personal_point_treePersonal Point TreeCRead-onlyIdempotentInspect
Tree per personal point.
[Group: Cosmobiology / Hamburg School] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| withTnp | No | ||
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| orb | No | |
| tree | No | |
| source | No | |
| methodology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds that the call costs 10 credits (Tier 1), which is useful billing context, but says nothing about calculation behavior, authentication, or output characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but under-specified rather than appropriately concise. It uses fragments and metadata tags while omitting core explanatory content, so its few words do not earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 16 parameters, low schema coverage, and an output schema, the description omits what the tool computes, how to invoke it correctly, and which inputs matter. It is not complete enough for an agent to use reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 31% across 16 parameters, so the description must compensate for many undocumented fields such as date, time, latitude, longitude, and chart options. It adds no parameter meaning at all, not even clarifying required birth data or optional settings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Tree per personal point" restates the tool name and title without explaining what a personal point tree is, what it returns, or how it differs from siblings such as midpoint_pictures or sensitive_points. The only added content is group and cost metadata, so an agent cannot confidently distinguish this tool's actual purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or alternative tools are provided. The group tag and cost line give billing context but do not guide selection among the many cosmobiology siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cosmobiology_sensitive_pointsSensitive PointsCRead-onlyIdempotentInspect
Ebertin's personal points midpoint hits.
[Group: Cosmobiology / Hamburg School] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| withTnp | No | ||
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| orb | No | |
| source | No | |
| pictures | No | |
| methodology | No | |
| personalPoints | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description's one genuine addition is billing context: "Cost: 10 credits (Tier 1)", which tells the agent this call has a real cost — useful, though nothing is said about computation behavior or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and the metadata tags are cleanly structured and front-loaded, so there is no wasted prose. However, its brevity comes from under-specification rather than economy — the single content sentence carries almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details need not be explained, and annotations cover safety. But for a 16-parameter tool in a dense sibling cluster, the description leaves the agent unable to judge what result to expect or why to choose this tool over its cosmobiology neighbours.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 31% across 16 parameters (city, name, withTnp, cosmogram, zodiacType, houseSystem and others undocumented), and the description mentions no parameter at all. With low coverage the description is expected to compensate, and it contributes zero parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase "Ebertin's personal points midpoint hits" names a technique but never states in plain terms what the tool computes or returns. It neither distinguishes itself from sibling cosmobiology tools such as midpoint_pictures or personal_point_tree, nor supplies a verb+resource an agent can act on. The title 'Sensitive Points' is simply restated in jargon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative named anywhere in the description, despite nine sibling cosmobiology tools covering overlapping techniques. Only the bracketed group tag hints at the domain, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cosmobiology_transit_midpointsTransit MidpointsCRead-onlyIdempotentInspect
Transits hitting natal midpoints in 90° dial.
[Group: Cosmobiology / Hamburg School] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| withTnp | No | ||
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| converse | No | ||
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| targetDate | Yes | ||
| targetTime | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| targetTzOffset | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| orb | No | |
| hits | No | |
| count | No | |
| source | No | |
| targetDate | No | |
| methodology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description's only added behavioral fact is the cost (10 credits, Tier 1), which is genuinely useful, but it says nothing about what the response contains or how the 90° dial projection is applied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short bracket lines plus one sentence; the operative clause is front-loaded and there is no filler. It is terse to the point of under-specification, but nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 20-parameter, 5-required-parameter tool this is too thin. An output schema exists so return values need not be explained, but the description omits when to use it, how natal vs transit data are supplied, and what the many optional flags do.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Twenty parameters with only 25% schema description coverage, and the description contributes zero parameter information. Core required inputs (date, time, latitude, longitude, targetDate) have no descriptions in either place, and flags like cosmogram, converse, withTnp, and the 25-value houseSystem enum are unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: transits contacting natal midpoints within the 90° dial, which is a recognizable cosmobiological operation. It does not explicitly distinguish itself from close siblings such as astroway_cosmobiology_midpoint_pictures or astroway_cosmobiology_dial_90, so an agent must infer the boundary from names alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no named alternative. Nothing tells the agent when this tool is preferable to dial_90, midpoint_pictures, or prognostics_transits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cosmobiology_uranian_tnpsUranian TNPsCRead-onlyIdempotentInspect
8 Hamburg trans-Neptunian bodies.
[Group: Cosmobiology / Hamburg School] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tnps | No | |
| count | No | |
| source | No | |
| methodology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety behavior is covered. The description adds the credit cost and tier, which is genuinely useful planning context, but discloses nothing about the operation itself (e.g., that a full birth/event moment is required).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the resource, with metadata cleanly bracketed at the end. But the brevity is under-specification rather than economy: the one substantive sentence carries almost no operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. Still, a 15-parameter, 4-required charting tool in a dense cosmobiology family needs more than a body count; there is no indication of what distinguishes this result from the other Hamburg School endpoints an agent could call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description bears responsibility for compensating, and it says nothing about any parameter. It does not clarify required date/time/lat/long inputs, the timezone-vs-timezoneOffset precedence, or which knobs affect TNP output versus general chart output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource — the 8 Hamburg trans-Neptunian bodies — which does spell out the 'TNP' acronym in the title and give a count. However, it never states the action (compute a chart's positions? list the bodies?) and gives no basis for choosing it over sibling cosmobiology tools like witte_formulas, dial_90, or midpoint_pictures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative tool guidance. The [Group] and [Cost] tags provide context about billing and family, but nothing tells an agent which input conditions or astrological question should route here rather than to another Hamburg School tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cosmobiology_witte_formulasWitte FormulasDRead-onlyIdempotentInspect
Witte planetary pictures A+B−C=D.
[Group: Cosmobiology / Hamburg School] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| withTnp | No | ||
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| orb | No | |
| count | No | |
| source | No | |
| notation | No | |
| pictures | No | |
| methodology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only a group tag and a cost tier (10 credits), which is mildly useful, but says nothing about what the computed output contains or any limits of the technique.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: the formula fragment is not self-explanatory and no sentence earns its place by conveying actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter, complex cosmobiology computation with an output schema, the description is wholly inadequate. An agent cannot determine inputs, defaults, or the nature of the result from it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 16 parameters and only 31% schema description coverage, the description is expected to compensate for the documentation gap, and it contributes nothing — no mention of date/time/latitude/longitude requirements, ayanamsa vs ayanamsaId, timezone handling, compact-mode fields, or cosmogram/TNP flags.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reduces to the tool's title plus a formula fragment ('Witte planetary pictures A+B−C=D') with no verb stating what the tool actually produces (e.g., computes/returns planetary picture contacts for a chart). It is close to a restatement of the name rather than a statement of function, and it does nothing to separate it from siblings like midpoint_pictures or personal_point_tree.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of the many close alternatives in the Cosmobiology group. An agent has no basis to choose this over astroway_cosmobiology_midpoint_pictures or personal_point_tree.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cost_estimateCost EstimateARead-onlyIdempotentInspect
Estimate the credit cost of one or more endpoints WITHOUT invoking them. Returns total + per-endpoint breakdown with tier annotations. Useful when planning multi-step workflows: estimate first, ask user confirmation, then invoke. Cache TTL 5 min.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoints | Yes | Endpoint paths to estimate, e.g. ["/chart", "/synastry", "/reports/natal"]. Leading slash optional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety bar is low; the description still adds real value by clarifying that endpoints are NOT invoked and that results are cached with a 5-minute TTL. It also discloses the return shape (total + per-endpoint breakdown with tier annotations), which is meaningful since no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core capability and the non-invocation guarantee, followed by workflow guidance and the cache note. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description explains the return value, and the invocation-free and cache behaviors are covered. For a one-parameter, read-only estimator this is fully sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'endpoints' parameter is fully documented with examples and the leading-slash rule in the schema. The description only restates 'one or more endpoints' without adding format or constraint detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Estimate the credit cost of one or more endpoints') and immediately pins the scope with 'WITHOUT invoking them', which no sibling tool does. An agent can distinguish this from the many invocation/report siblings at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit workflow guidance: 'estimate first, ask user confirmation, then invoke' for multi-step planning. This is clear when-to-use context, though it names no alternative tool or when-not-to-use condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_destiny_matrix_ladiniDestiny Matrix: Ladini MethodARead-onlyIdempotentInspect
Calculate the full 22-position Destiny Matrix per Natalia Ladini's method from birth date. Returns centre arcanum, body positions (day/month/year/centre), soul positions, karmic and resource arcana with full meaning structure for each.
[Group: Destiny Matrix] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| centre | No | |
| method | No | |
| pointA | No | |
| pointB | No | |
| pointC | No | |
| skyAxis | No | |
| earthAxis | No | |
| disclaimer | No | |
| loveLineNode | No | |
| karmicTailSum | No | |
| moneyLineNode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety and determinism profile is fully covered by structured data. The description adds the positional structure of the output (centre, body, soul, karmic, resource arcana) but says nothing about cost behavior beyond the metadata tag or rate limits. Modest added value on top of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences: the calculation statement first, then a compact enumeration of the output structure, followed by group and cost tags. No redundancy or filler; the group/cost lines are the only slightly extraneous content, though they are operationally useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description needn't enumerate return values, and annotations cover the safety profile. The description appropriately frames the scope (22 positions, named arcanum groups) and input. It is complete enough for correct invocation, with only minor gaps around date format expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: 'date' has only a regex pattern and no prose description, while 'fields' and 'precision' are documented in the schema as compact-mode options. The description confirms the birth-date input but adds no format, timezone, or interpretation guidance for the date parameter. Baseline 3 is appropriate since the schema carries most of the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Calculate the full 22-position Destiny Matrix') and names the exact methodology ('Natalia Ladini's method') and input ('from birth date'). This clearly distinguishes it from the many numerology siblings (Chaldean, Kabbalistic, Pythagorean, Vedic), none of which produce a Destiny Matrix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The method name and required birth-date input imply when this tool is relevant, and the sibling set makes the alternative numerology tools obvious. However, there is no explicit when-to-use/when-not-to-use statement or guidance on choosing Destiny Matrix over the plain numerology tools. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_almutenAlmuten FigurisBRead-onlyIdempotentInspect
Calculate the Almuten Figuris: the planet with the highest essential dignity score across the key chart positions.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus optional custom terms and decans tables. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chart | No | |
| almuten | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered structurally. The description adds the non-obvious cost context (20 credits, Tier 2), which is genuinely useful for planning, but says nothing about computation dependencies or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence defining the computation plus two compact metadata tags. No filler, no repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully documented, so return values and inputs need no restatement. For a deterministic read-only computation this is close to sufficient; only the missing sibling differentiation keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including a rich description of the nested birth-data object, so the schema carries the parameter burden. The tool description adds no parameter meaning of its own, which is the baseline expectation here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Calculate') and resource ('Almuten Figuris') and defines the concept precisely as the planet with the highest essential dignity score across key chart positions. However, it does not distinguish itself from close siblings like astroway_dignities_essential_dignities or astroway_dignities_hyleg, which operate on overlapping dignity concepts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no indication of when to choose this tool over its dignity siblings (essential_dignities, receptions, disposition_chains, hyleg), nor any prerequisites such as needing a full natal chart with houses. Only the group tag hints at domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_disposition_chainsDisposition ChainsBRead-onlyIdempotentInspect
Calculate planetary disposition chains: the recursive sequence of sign rulers leading to the final dispositor.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the dispositor mode (rulership or detriment) and the ruler set (classical or modern). | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| mode | No | |
| rulerMode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the cost tier ('20 credits (Tier 2)') and group, which is genuine value beyond structured fields, but says nothing about what the chain output looks like or any limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus two compact metadata tags; nothing is wasted. It is arguably under-specified rather than over-long, but structurally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the core computation is stated. However, for a tool nested inside the dignities family with a layout variant sibling, the absence of routing guidance leaves the definition minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself richly documents body, mode/rulerMode, fields and precision. The description adds no parameter meaning of its own, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate planetary disposition chains') and defines the concept ('the recursive sequence of sign rulers leading to the final dispositor'), which lets an agent distinguish it from siblings like almuten or essential_dignities. It stops short of naming or contrasting any sibling directly, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_dignities_disposition_chains_layout, which sounds like the closest sibling. The group tag hints at domain but gives no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_disposition_chains_layoutDisposition Chains LayoutARead-onlyIdempotentInspect
Return disposition chains with computed x/y layout coordinates for graph visualization.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the dispositor mode (rulership or detriment) and the ruler set (classical or modern). | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| mode | No | |
| bounds | No | |
| layout | No | |
| rulerMode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive behavior, so the safety profile is covered. The description adds a genuine behavioral fact beyond the schema: the 20-credit Tier 2 cost, which lets an agent budget calls. Output content (layout coordinates) is also noted, though the return shape itself is left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence captures purpose and differentiator, followed by compact group and cost tags. Every line earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so explaining the return shape is not required, and the rich input schema covers the natal/mode parameters. What remains slightly thin is the relationship to the rendering tools and the non-layout sibling, but for a layout-variant tool this is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the body, fields, and precision parameters thoroughly documented in the schema itself. The description adds nothing about parameters, so the baseline 3 for a fully-covered schema applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Return) and resource (disposition chains) plus the distinguishing feature: computed x/y layout coordinates for graph visualization. This implicitly separates it from the sibling astroway_dignities_disposition_chains, though it never names that sibling explicitly, so an agent must infer the contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for graph visualization' hints at the use case, but there is no explicit when-to-use, when-not-to-use, or routing to the non-layout sibling. The agent has no guidance on why it would pick this variant over astroway_dignities_disposition_chains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_essential_dignitiesEssential DignitiesARead-onlyIdempotentInspect
Calculate the five Ptolemaic essential dignities (rulership, exaltation, triplicity, term, face) and debilities for each planet.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus optional custom terms and decans tables. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dignities | No | |
| totalScore | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already disclose that this is a read-only, idempotent, non-destructive, closed-world operation. The description adds useful cost context (20 credits, Tier 2) but does not describe return behavior, authentication needs, or rate limits, and output schema covers results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one front-loaded sentence naming the calculation, followed by compact group and cost metadata. Every element earns its place, with no redundancy or waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema and the presence of an output schema, the description provides enough to understand the tool's output scope. The main missing element is usage guidance relative to other dignity tools, but the group label and precise calculation statement make it largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents the body, fields, and precision parameters thoroughly. The description adds no parameter-specific meaning beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Calculate'), resource ('essential dignities'), and the exact five Ptolemaic categories plus debilities. This clearly distinguishes it from sibling dignity tools such as almuten, disposition chains, hyleg, and receptions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, prerequisites, or comparison to alternative dignity tools. The [Group: Dignities & Receptions] label categorizes it but does not explain when an agent should choose this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_hylegHyleg & AlcocodenBRead-onlyIdempotentInspect
Calculate the Hyleg (apheta, giver of life) and Alcocoden (indicator of lifespan) using traditional Hellenistic method.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the hyleg method and optional custom dignity tables. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hyleg | No | |
| alcocoden | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive and closed-world behavior. The description adds genuinely useful non-schema context: the method tradition and the 20-credit Tier 2 cost, which lets an agent budget calls. It says nothing about dependencies on the body chart data or what the computation requires, so it is additive but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence carries the verb, resource and method, with the group and cost tags appended compactly. Front-loaded and waste-free, though the metadata lines add little beyond classification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the return values need no explanation, and the input schema is fully documented, so an agent can technically call it. The remaining gap is routing: nothing explains when hyleg/alcocoden analysis is the right dignity tool versus its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, fields and precision in detail (including timezone handling and compact mode). The description adds no parameter meaning beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and the exact resources (Hyleg/apheta, giver of life; Alcocoden, indicator of lifespan) plus the method (traditional Hellenistic). It is precise about what it computes, but never distinguishes itself from sibling dignity tools like astroway_dignities_almuten or astroway_dignities_essential_dignities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives are named. The [Group: Dignities & Receptions] and cost tags are metadata, not usage guidance. An agent has no signal for choosing this over almuten or disposition_chains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_receptionsMutual ReceptionsBRead-onlyIdempotentInspect
Find mutual receptions between planets: pairs where each planet is in a sign ruled, exalted, or in the dignity of the other.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus optional custom terms and decans tables. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| mutual | No | |
| receptions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint false, and openWorldHint false, so the safety profile is covered. The description adds the credit cost and tier, which is genuinely useful operational context absent from annotations, but says nothing about computation scope, planet set, or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence that defines the deliverable up front, followed by bracketed metadata for group and cost. Nothing is redundant and the operative definition is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. The gap is the missing link between the tool and its required input: the agent is not told that a natal chart (date, time, latitude, longitude) must be supplied, nor how receptions rank against essential dignities output, which a sibling-heavy toolset makes non-obvious.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including detailed natal-chart fields and compact-mode fields/precision, so the schema carries parameter meaning. The description adds no parameter information at all; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (find mutual receptions between planets) and then defines the concept operationally: pairs where each planet is in a sign ruled, exalted, or in the dignity of the other. An agent can tell what a result means. It does not, however, distinguish itself from nearby siblings such as astroway_dignities_essential_dignities or astroway_dignities_disposition_chains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this tool over the other dignity tools, no prerequisites, and no exclusions. The only routing signal is the [Group: Dignities & Receptions] tag, which is a category label rather than guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_angel_numbersAngel Numbers: CatalogueBRead-onlyIdempotentInspect
Full angel number catalogue (singles, masters, repeating, mirror, sequential patterns) with short and full meanings, themes.
[Group: Esoteric] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds content-type detail and the cost line (5 credits, Tier ½), which is genuine behavioral context, but says nothing about response size for a 'full catalogue' or pagination/limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content statement is a single front-loaded sentence, with group and cost tags kept clearly separate. Nothing is padded, though 'with short and full meanings, themes' is a slightly loose enumeration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value explanation is unnecessary, and the description tells the agent what the catalogue contains. However, for a bulk-catalogue tool it omits any hint about result volume or the practical benefit of the compact-mode parameters, leaving a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the description is silent on both parameters, so the baseline of 3 applies. It does not compensate for the fact that the `fields` example ('planets.name, houses.cusp') appears copied from a chart tool and is misleading for an angel-number catalogue.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource — a full angel number catalogue — and enumerates the pattern classes it covers (singles, masters, repeating, mirror, sequential) plus the payload (short/full meanings, themes). The word 'Full' hints it is the whole-corpus variant rather than a lookup, but no sibling is named, so the distinction from astroway_esoteric_angel_numbers_number or _decode must be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use statement and no reference to the obvious alternatives (astroway_esoteric_angel_numbers_number for a single number, _today for a daily draw, _decode for interpreting an observed number). The agent is left to guess that this is the bulk retrieval tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_angel_numbers_by_life_path_nAngel Numbers for Life PathBRead-onlyIdempotentInspect
Angel numbers aligned to a given life-path number (1-9, 11, 22, 33). Useful to identify recurring numerical signatures aligned with one's soul path.
[Group: Esoteric] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| n | Yes | Life path number: 1-9, or the master numbers 11, 22, 33. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No | |
| lifePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered without the description. The description's only added behavioral signal is the cost note (plan-dependent, not in the public credit manifest), which is genuinely useful but thin. No return-shape detail is needed since an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the core purpose front-loaded, followed by clearly demarcated metadata lines for group and cost. Efficient, with no redundancy in the prose itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity single-lookup endpoint with one required parameter, full schema coverage, an output schema, and read-only/idempotent annotations, the definition supplies enough to invoke correctly. The missing piece is routing guidance among the crowded angel-number sibling set, which is a usage gap rather than a completeness failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (n, fields, precision) are already documented in the schema. The description restates the life-path domain from the schema and adds nothing about `fields` or `precision` (compact-mode round-tripping), so this is the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (angel numbers) and the axis that selects it (aligned to a given life-path number), and repeats the valid input domain. It is distinguishable from siblings by that parameter axis, though it never names an adjacent tool like angel_numbers_number or angel_numbers_today to sharpen the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Useful to identify recurring numerical signatures aligned with one's soul path" is a benefit statement rather than when-to-use guidance. No conditions, exclusions, or alternative tools are named, so the agent must infer when this beats the other four angel-number endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_angel_numbers_decodeDecode Angel NumberBRead-onlyIdempotentInspect
Decode a numeric sequence in optional life context. Returns pattern classification, exact match, and reduced single-digit meaning.
[Group: Esoteric] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| context | No | ||
| sequence | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| context | No | |
| pattern | No | |
| sequence | No | |
| reducedTo | No | |
| exactMatch | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint, idempotentHint, non-destructive, closed-world), so the description need not restate it. It does add cost/pricing context ('10 credits (Tier 1)') and a rough sense of the return payload, but since an output schema exists, the return summary is largely redundant and no error, rate-limit, or credit-consumption-on-failure behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences followed by compact Group/Cost tags; every element earns its place with no filler. The pricing tag is arguably metadata rather than description, which keeps it just under a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema covering return values and annotations covering safety, the main remaining gaps are sibling disambiguation and semantics for the undocumented 'context'/'sequence' parameters. Adequate for a simple read-only decode tool, but not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: 'fields' and 'precision' are documented in the schema, while 'context' and 'sequence' are not. The description partially compensates by indicating that the sequence is numeric and that context is an optional 'life context', but it adds no format, length, or usage detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (decode a numeric sequence) and even summarizes the output (pattern classification, exact match, reduced single-digit meaning), so the agent knows what the call produces. It does not differentiate from close siblings such as astroway_esoteric_angel_numbers_number or astroway_esoteric_angel_numbers_today, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use statement, no prerequisites, and no mention of the alternative angel-number siblings. The phrase 'in optional life context' hints at the context parameter but gives no guidance on choosing this tool over the other angel-number endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_angel_numbers_numberAngel Number LookupARead-onlyIdempotentInspect
Look up the meaning of a specific angel number sequence. Falls back to numerological reduction if not in catalogue.
[Group: Esoteric] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| number | Yes | Angel number, digits only. Unindexed numbers fall back to a pattern classification plus the reduced single digit. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| number | No | |
| themes | No | |
| matched | No | |
| pattern | No | |
| shortMeaning | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds genuinely non-redundant behavior: unindexed numbers fall back to a pattern classification plus reduced single digit. The cost note is vague ('see your plan') and adds little.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with no wasted prose; the fallback behavior comes second where it belongs. The bracketed cost line is a placeholder that neither helps selection nor informs invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. Purpose plus the fallback rule fully equip the agent to invoke this three-parameter, single-required lookup correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 100%, the schema fully documents `number`, `fields`, and `precision`, so the baseline is 3. The description only restates that the input is a specific sequence and echoes the fallback already stated in the `number` schema description, adding no new syntax or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('look up the meaning of a specific angel number sequence'), which makes the number-oriented lookup distinguishable from numberless siblings in principle. However, it never names the confusingly similar siblings (astroway_esoteric_angel_numbers, _decode, _by_life_path_n) to make the distinction explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the fact that it consumes a 'specific angel number sequence,' and the fallback sentence tells the agent unindexed numbers are still handled. There is no explicit routing guidance toward alternative angel-number tools like _decode or _today, so the agent must infer the choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_angel_numbers_todayDaily Angel NumberBRead-onlyIdempotentInspect
Compute today's personal angel number from date (digit-sum reduced to single digit). Optional ?date=YYYY-MM-DD query.
[Group: Esoteric] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| meaning | No | |
| dailySum | No | |
| reducedTo | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds the deterministic digit-sum reduction method, which is useful, but says nothing about the credit cost, output shape, or what happens for an invalid date.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core purpose, plus a compact group/cost footer. It would be a 5 if the phantom date parameter were removed rather than being the sole usage sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be described, and annotations cover safety, so the remaining burden is light. Still, the description neither differentiates from siblings nor reconciles its date-query claim with the schema, leaving a gap for a low-complexity but crowded tool family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the two real parameters (fields, precision), so the schema does the heavy lifting. The description instead advertises an optional `?date=YYYY-MM-DD` query parameter that does not exist anywhere in the input schema, which actively misleads rather than adds meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Compute today's personal angel number from date') plus the algorithm (digit-sum reduced to single digit), which is more informative than the title alone. However, it never distinguishes itself from siblings like astroway_esoteric_angel_numbers, _number, _decode, or _by_life_path_n, leaving the agent to infer that 'today' is the differentiator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage hint is 'Optional ?date=YYYY-MM-DD query', with no statement of when to pick this tool over the other four angel-number siblings. There is also no note that omitting the date defaults to today, which is the whole point of the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_crystalsCrystals: Full DirectoryARead-onlyIdempotentInspect
Reference list of crystals with chakra, zodiac, planet, element, hardness, and purpose tags. Returns chakra and purpose taxonomies for filtering.
[Group: Esoteric] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No | |
| chakras | No | |
| purposes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is fully covered without the description. The description adds that this is a static reference/taxonomy lookup and discloses a 5-credit cost, which is genuine but modest added context; no behavior beyond that (result volume, pagination of the directory) is described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences lead with the resource and its tag set, followed by the taxonomy note, and the group/cost metadata is compact. Nothing is padded, though the tag enumeration is a bare list rather than a tightening of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not required, and for a read-only static directory the description plus schema and annotations are nearly sufficient. The one real gap is that a reader cannot tell from this text alone why they would pick it over the by_chakra/by_zodiac/by_purpose variants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'fields' and 'precision' are documented in the schema and the baseline is 3. The description adds nothing about the compact-mode projection or decimal rounding, and notably the schema's example paths (planets.longitude, houses.cusp) are unrelated to the crystal domain the description enumerates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete resource with its tag dimensions ('Reference list of crystals with chakra, zodiac, planet, element, hardness, and purpose tags'), so an agent knows exactly what it gets. It does not, however, name or distinguish itself from the filtered siblings (crystals_by_chakra_chakra, crystals_by_zodiac_sign, crystals_recommend) that cover overlapping ground.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not statement, and no sibling is named as an alternative despite four closely related crystal tools existing. The clause 'Returns chakra and purpose taxonomies for filtering' only implies that this is the discovery step before the by_chakra/by_purpose tools, leaving the routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_crystals_by_chakra_chakraCrystals by ChakraBRead-onlyIdempotentInspect
Crystals indexed for a given chakra (Root / Sacral / Solar Plexus / Heart / Throat / Third Eye / Crown).
[Group: Esoteric] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| chakra | Yes | Chakra name, lowercase. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No | |
| chakra | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. The description adds only the cost caveat (endpoint not in the public credit manifest), which is genuinely useful context, but says nothing about response shape or rate/auth behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The functional sentence is front-loaded and wastes no words; the chakra list is set off in parentheses. The bracketed [Group]/[Cost] boilerplate is administrative rather than descriptive but costs little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, so little more is required. However, the description never disambiguates the required chakra value format against its own capitalized enumeration, nor gives any usage context for a tool with three sibling 'crystals' variants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema has no enum for chakra ('Chakra name, lowercase.'), so the description's list of the seven chakra values is valuable information the schema omits. Minor friction: listed values are capitalized ('Root') while the schema demands lowercase, leaving exact-string format slightly ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (crystals indexed) and the dimension (a given chakra), which implicitly separates it from the by_purpose and by_zodiac_sign siblings. It stops short of explicitly naming those siblings, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is given. The description only enumerates the chakra values; it never explains when this tool is preferable to astroway_esoteric_crystals_by_purpose_purpose or astroway_esoteric_crystals_recommend.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_crystals_by_purpose_purposeCrystals by PurposeARead-onlyIdempotentInspect
Crystals indexed by intent keyword (love, prosperity, healing, protection, etc.). Substring-matches against purpose tags.
[Group: Esoteric] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| purpose | Yes | Purpose to match. Substring match against the indexed purposes, so `protect` finds `protection`. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No | |
| purpose | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed (non-open-world) result set, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the substring match semantics ("protect" finds "protection") and a cost notice that the endpoint is not in the public credit manifest. It does not, however, describe result volume or pagination behavior, so it remains a moderate rather than rich disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences: core behavior first, matching detail second. The bracketed Group/Cost metadata is boilerplate but carries an actionable cost caveat. No wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. For a single-required-keyword lookup tool with full schema coverage, the description supplies everything an agent needs to call it correctly, including the matching rule and a cost pointer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents purpose, fields and precision, making 3 the baseline. The description reinforces the substring-match semantics of purpose (a subtle detail worth restating), but adds nothing about the fields/precision compact-mode parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource combination (crystals indexed by purpose/intent keyword) and lists concrete example keywords, so the agent knows exactly what comes back. The name and text imply the distinction from sibling lookups like crystals_by_chakra and crystals_by_zodiac, but the description never names those alternatives explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: reach for this tool when you have an intent keyword such as love or prosperity. However, there is no statement of when to prefer it over astroway_esoteric_crystals_recommend or the chakra/zodiac variants, and no exclusions or prerequisites. Adequate but with clear routing gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_crystals_by_zodiac_signCrystals by Zodiac SignBRead-onlyIdempotentInspect
Crystals indexed for a given zodiac sign (case-insensitive English name).
[Group: Esoteric] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| sign | Yes | Zodiac sign, lowercase English name. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is covered. The description adds two useful behavioral facts: input is case-insensitive English, and cost is plan-dependent and not in the public credit manifest — the latter is genuinely valuable for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: the core purpose is in the first clause, followed by compact group/cost metadata. No wasted prose, though the bracketed cost line is boilerplate shared across the family.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and annotations carry the safety profile, so the description is adequate on those fronts. What is missing is routing information among the numerous crystal siblings, which matters given the crowded toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so sign, fields and precision are already documented. The description's note that the sign is a case-insensitive English name adds only marginal clarification (and slightly softens the schema's 'lowercase English name' wording). Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (crystals) and filter (zodiac sign), which distinguishes it from siblings like crystals_by_chakra and crystals_by_purpose. However, it never names those alternatives, so the agent must infer the distinction from the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites, and no mention of the sibling crystal-lookup tools (astroway_esoteric_crystals, by_chakra, by_purpose, recommend) that an agent would need to choose between. Usage is only implied by the phrase 'indexed for a given zodiac sign'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_crystals_recommendCrystal RecommendationsBRead-onlyIdempotentInspect
Recommend crystals scored against natal sign placements (Sun/Moon/Asc) and intent keywords. Returns top-N matches with score.
[Group: Esoteric] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| intent | No | ||
| sunSign | No | ||
| moonSign | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ascendantSign | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| criteria | No | |
| recommendations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds genuinely new context: a 10-credit Tier 1 cost and that results are top-N scored matches, neither of which appears in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: purpose first, return shape second, with cost/group metadata clearly segregated. Front-loaded and no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be detailed, and cost is disclosed. However, for a 7-parameter tool with 29% schema coverage and no usage routing, the description leaves the compact-mode parameters and the choice among crystal siblings unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 29% (7 params, only fields and precision documented), so the description must compensate. It clarifies that sunSign/moonSign/ascendantSign are natal sign placements and intent is keyword-based, and 'top-N' implies limit, but it says nothing about compact mode (fields/precision) or valid sign formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (recommend) and resource (crystals) plus the scoring basis: natal Sun/Moon/Asc placements and intent keywords. This distinguishes it functionally from siblings like crystals_by_chakra and crystals_by_zodiac_sign, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no routing to the four sibling crystal tools. The agent must infer from the description that this is the multi-factor recommendation variant versus the single-filter siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_djamaspaDjamaspa (DEPRECATED: RED quality, sunset 2027-06-15)BRead-onlyIdempotentInspect
DEPRECATED: RED quality (oral Zoroastrian tradition, scattered manuscripts, no canonical reference). Still works until its 2027-06-15 sunset (12-month, per the /v1 stability policy), then will be removed. Migrate to broader /reference endpoints or remove the dependency. Calculate Djamaspa planetary positions for date.
[Group: Esoteric] [Cost: 10 credits (Tier 1)] [⚠️ DEPRECATED — will be removed in a future API version. Avoid using.]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| day | No | |
| hour | No | |
| year | No | |
| month | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds useful context beyond that: a 12-month sunset date tied to the /v1 stability policy, a 10-credit cost tier, and a data-quality caveat (RED, oral tradition, no canonical reference).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Deprecation is stated three times (title, opening sentence, trailing footer), which is redundant and displaces the actual purpose sentence to the end. The content is not bloated, but the structure is repetitive rather than front-loaded with the operative information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the deprecation lifecycle is thoroughly disclosed. Gaps remain around what Djamaspa actually computes and when, if ever, an agent should still call it, leaving the definition only minimally sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 67% and the description contributes no parameter meaning whatsoever, adding nothing about date, fields, or precision beyond the schema. With partial coverage, the description fails to compensate for the undocumented 'date' parameter, so it does not reach the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The core sentence is 'Calculate Djamaspa planetary positions for date,' which supplies a verb and resource, but 'Djamaspa' is undefined jargon with no indication of what these positions represent, leaving the purpose only semi-clear. The purpose statement is also buried beneath three separate deprecation notices rather than front-loaded.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It effectively signals when NOT to use the tool ('Avoid using,' 'Migrate to broader /reference endpoints or remove the dependency'), which is genuine usage guidance. However, it does not name a concrete alternative tool or explain a scenario in which this tool is still the correct choice before the sunset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_dreamsDream Symbol DictionaryBRead-onlyIdempotentInspect
Full dream symbol dictionary with category, element, archetype, common and shadow meanings, and recurring-dream readings.
[Group: Esoteric] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed-world read, so the safety burden is covered. The description adds only the returned content fields plus the cost metadata (5 credits); it says nothing about how large the dictionary response is or how 'fields'/'precision' compaction interacts with behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the resource and its contents front-loaded, followed by compact group/cost metadata. Nothing is wasted, though the bracketed metadata is boilerplate rather than descriptive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations cover the safety profile. The remaining gap is routing: for a tool surrounded by four closely related dream siblings, the description does not supply the selection criteria an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (fields, precision) are fully documented in the schema itself. The description adds no syntax, defaults, or examples beyond what the schema provides, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource clearly ('dream symbol dictionary') and enumerates its contents (category, element, archetype, common/shadow meanings, recurring-dream readings), which tells an agent what it gets back. The word 'Full' hints at a distinction from the filtered siblings, but it never names them, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. Siblings like astroway_esoteric_dreams_symbol_keyword, astroway_esoteric_dreams_decode, astroway_esoteric_dreams_by_element_element and astroway_esoteric_dreams_recurring_themes clearly overlap, yet the description offers no rule for choosing this one over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_dreams_by_element_elementDream Symbols by ElementARead-onlyIdempotentInspect
Dream symbols indexed by element (fire / earth / air / water / spirit).
[Group: Esoteric] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| element | Yes | Elemental grouping. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No | |
| element | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description's one addition is the cost note ('see your plan — endpoint not in the public credit manifest'), which usefully warns that pricing is opaque but stops short of stating the actual credit cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence that front-loads the resource and the indexing dimension, with the element list inline. The trailing bracketed Group/Cost tags are boilerplate but small; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, params are fully covered, and annotations carry the safety profile. What is missing is minor: result volume, ordering, or whether an element group can be empty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so `element`, `fields` and `precision` are fully documented in the schema itself; the description only restates the enum values already present there. Baseline 3 applies since the schema does the heavy lifting and the description adds no new syntax or semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete resource (dream symbols) and the indexing dimension (element), enumerating the five valid groupings. It implicitly distinguishes itself from keyword-based siblings like astroway_esoteric_dreams_symbol_keyword, but never names or contrasts them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'indexed by element' — an agent can infer this is a browsable lookup rather than a decode or search call. There is no statement of when to prefer this over astroway_esoteric_dreams_decode or astroway_esoteric_dreams_symbol_keyword, and no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_dreams_decodeDecode Dream TextARead-onlyIdempotentInspect
Scan dream narrative text for known symbols. Returns matched symbols with their meanings (recurring or single-event).
[Group: Esoteric] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| recurring | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | No | |
| symbols | No | |
| suggestion | No | |
| symbolsFound | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful behavioral context beyond them: it discloses the credit cost (10 credits, Tier 1) and clarifies that returned symbols carry recurring or single-event meanings. This is a meaningful supplement even though safety behavior is already covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences front-load the purpose and return behavior, followed by group and cost metadata. Every element is useful and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and full read-only annotations, the description need not explain return structure. However, for a 4-parameter tool sitting among many similar dream siblings, it omits usage guidance, does not fully document the text and recurring parameters, and does not help the agent choose between related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: fields and precision are documented, while text and recurring are not. The description partially compensates by implying that 'text' is a dream narrative and that 'recurring or single-event' relates to the recurring flag, but it does not explain the text length limits or clarify whether recurring filters the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Scan') and resource ('dream narrative text for known symbols'), and notes the output is matched symbols with meanings. It is clear and distinct from the general 'dreams' sibling, but it does not explicitly differentiate itself from near-siblings like dreams_symbol_keyword or dreams_recurring_themes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool does but gives no when-to-use guidance, no prerequisites, and no alternatives. With many dream-related siblings, the agent receives no routing help beyond the implicit purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_dreams_recurring_themesRecurring Dream ThemesBRead-onlyIdempotentInspect
Catalogue of common recurring dream themes (falling, naked in public, losing teeth, being chased) with universal psychological meanings.
[Group: Esoteric] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds useful cost metadata (5 credits, Tier ½), which helps budget decisions, but says nothing about return scope or behaviour beyond what annotations and the output schema carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence front-loads the resource and its examples, with cost/group metadata in clearly separated brackets. No wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema removes the need to describe return values, and annotations cover safety, so the description is adequate for a simple lookup tool. It still omits any sibling differentiation or usage context, which is the main remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both optional parameters (fields, precision) are fully documented in the schema itself. The description adds no parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource — a catalogue of recurring dream themes — and even enumerates concrete examples (falling, being chased), so the agent knows exactly what content it returns. However, it does not distinguish itself from siblings like astroway_esoteric_dreams or astroway_esoteric_dreams_symbol_keyword, so an agent cannot tell which dream endpoint to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative is named despite four closely related dream tools in the sibling list. The agent must infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_dreams_symbol_keywordDream Symbol LookupARead-onlyIdempotentInspect
Look up a dream symbol by keyword. Exact match if available, otherwise partial substring matches.
[Group: Esoteric] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| keyword | Yes | Dream symbol to look up. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| keyword | No | |
| matched | No | |
| category | No | |
| archetype | No | |
| commonMeaning | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds two things beyond them: the exact-then-substring matching strategy, which affects how loosely a keyword can be specified, and a cost caveat that billing for this endpoint is not in the public credit manifest. It does not mention result-count limits or truncation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded, followed by bracketed group/cost metadata. Every line carries information; the cost caveat is worth its space, though the group tag is boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and annotations carry the safety profile. Combined with full schema coverage and the matching-behavior note, the definition is adequate; only sibling routing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (keyword, fields, precision) are already documented in the schema, including the compact-mode semantics. The description adds nothing about `fields` or `precision`, so baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Look up a dream symbol by keyword') and adds the lookup mode (exact match, falling back to partial substring). It is distinguishable from astroway_esoteric_dreams_decode and astroway_esoteric_dreams_recurring_themes by being a single-symbol keyword lookup, but it never names or contrasts those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-routing guidance. With four dream-domain siblings (dreams, dreams_decode, dreams_by_element, dreams_recurring_themes) an agent gets no help deciding between a symbol lookup and a full dream decode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_esoteric_ichingI Ching Hexagram (DEPRECATED: use /iching/throw-coins)ARead-onlyIdempotentInspect
DEPRECATED: legacy un-namespaced random hexagram cast. Superseded by the /iching/* namespace: /iching/throw-coins (seeded + reproducible), /iching/by-question, /iching/with-changing-lines, /iching/daily, /iching/lookup/{n}, all on the Wilhelm-Baynes hexagram set. Still works until its 2027-06-16 sunset, then removed. Casts a single I Ching hexagram (input ignored).
[Group: Esoteric] [Cost: 10 credits (Tier 1)] [⚠️ DEPRECATED — will be removed in a future API version. Avoid using.]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lines | No | |
| number | No | |
| chinese | No | |
| trigrams | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower, and the description still adds real context: deprecated status, sunset date, credit cost tier, and that the cast is unseeded random rather than reproducible. The only weak spot is the ambiguous 'input ignored' claim, which sits oddly beside two documented request parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The critical information — deprecation and replacement — is in the first sentence, and the metadata block is scannable. It is somewhat repetitive, stating DEPRECATED in the title, the first sentence, and again in a trailing warning line, which costs it a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated two-parameter tool with an output schema, everything an agent needs is present: why to avoid it, what to use instead, how long it remains callable, and its cost. Return values are covered by the output schema, so nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both `fields` and `precision` are fully documented in the schema and the description need not restate them. 'Input ignored' adds a small amount of meaning (output is not driven by request input) but does not clarify how those two parameters interact with the cast, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Casts a single I Ching hexagram') and explicitly marks itself as the legacy un-namespaced variant, so an agent can distinguish it from the six /iching/* siblings without opening any schema. The deprecation is front-loaded in the title and repeated in the body.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to avoid it and names the replacement set, singling out `/iching/throw-coins` as 'seeded + reproducible' so the agent knows why it is preferred. It also gives a hard operational cutoff ('Still works until its 2027-06-16 sunset, then removed'), which is exactly the when-not-to-use detail an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_evolutionary_nodal_axis_detailNodal Axis DetailCRead-onlyIdempotentInspect
Full NN/SN with rulers + conjuncts.
[Group: Evolutionary Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| northNode | No | |
| southNode | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, closed-world, and non-destructive behavior, so the remaining burden is light. The description adds the useful cost tier and domain grouping, but does not disclose anything about computation requirements, authentication, or output behavior beyond what the annotations and output schema already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The operative sentence is extremely short and front-loaded, and the group/cost tags are compact. It is arguably too sparse for a complex tool, but as written it contains no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 15 input parameters, low schema description coverage, and many sibling evolutionary-astrology tools, the description is under-specified. The output schema and annotations cover return shape and safety, but usage differentiation and input semantics remain missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes no parameter-level meaning at all. It does not clarify the required date, time, latitude, longitude inputs or any optional calculation settings, leaving the agent to rely entirely on the partially documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact deliverable: full North Node/South Node detail with rulers and conjuncts. That is specific enough to distinguish it from most evolutionary astrology siblings, which cover Pluto condition, skipped steps, or soul types, though it does not explicitly name an alternative tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [Group: Evolutionary Astrology] tag implies a broad domain, but there is no statement of when to choose this tool over sibling evolutionary tools or other chart-calculation endpoints. It also gives no prerequisites beyond the cost signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_evolutionary_pluto_natal_conditionPluto Natal ConditionCRead-onlyIdempotentInspect
JWG: Pluto sign+house+ruler+hard aspects.
[Group: Evolutionary Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pluto | No | |
| ruler | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| hardAspects | No | |
| pastLifeSignificance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the credit cost (10 credits, Tier 1) and its group, which is genuinely useful behavioral context for an agent deciding whether to invoke. It does not add anything about output shape, but annotations lower the bar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is terse and front-loads the core meaning before the metadata tags. Every line carries some signal, though the cryptic 'JWG' token is wasted space for a general agent. Appropriate size for the content provided.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter natal chart tool with a required date/time/coordinates core, the description gives the agent nothing about required inputs or the computation context. An output schema exists so return values need not be explained, but the input-side incompleteness leaves the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
15 parameters with only 33% schema description coverage, and the description supplies nothing about any parameter. Several key inputs (date, time, latitude, longitude, zodiacType, houseSystem) are undocumented in both places. The description fails to compensate for the coverage gap on a complex 15-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the tool's outputs (Pluto sign, house, ruler, hard aspects) which is more specific than the title alone and helps distinguish it from evolutionary siblings like nodal_axis_detail or skipped_steps. However, there is no verb describing the operation, and the cryptic 'JWG' prefix (Jeffrey Wolf Green) is opaque to an agent without domain expertise. Purpose is inferable but not stated cleanly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives. The [Group: Evolutionary Astrology] tag loosely places it in a family but does not say when to pick this Pluto tool over the several other evolutionary tools. No usage context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_evolutionary_skipped_stepsSkipped StepsCRead-onlyIdempotentInspect
Planets squaring nodal axis = unfinished karma.
[Group: Evolutionary Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| source | No | |
| doctrine | No | |
| nodalAxis | No | |
| disclaimer | No | |
| skippedSteps | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond that — no auth requirements, rate limits, or side-effect details — and does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, but it is under-specified rather than concise. One cryptic astrological sentence plus group/cost metadata is not an appropriately sized operational description for a 15-parameter analytic tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover safety. However, the description fails to explain what the tool computes, when to use it, or how it differs from close siblings, leaving a significant contextual gap for a specialized evolutionary astrology tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 15 parameters with only 33% schema description coverage, and required parameters like date, time, latitude, and longitude are undocumented. The description is silent on every parameter, adding no meaning beyond the incomplete schema and failing to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a domain rule — planets squaring the nodal axis equal unfinished karma — which hints that the tool computes skipped steps. However, it lacks an explicit verb or resource, and it does not distinguish this tool from sibling evolutionary astrology tools such as nodal_axis_detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, alternatives, or prerequisites are provided. The description gives an astrological aphorism but does not help an agent choose this tool over the many other evolutionary astrology siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_evolutionary_soul_typesSoul TypesBRead-onlyIdempotentInspect
JWG's 4-type by Pluto house quadrant.
[Group: Evolutionary Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint, so the safety profile is covered. The description adds the cost (10 credits, Tier 1) and group, which is useful operational context, but says nothing about computation or output behavior beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two very short lines, front-loading the technique name and then providing group and cost metadata. It is appropriately sized with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex astrological calculation with 15 parameters and 4 required inputs, the description is minimal. An output schema exists and annotations cover safety, but the description lacks usage context, prerequisites, or routing guidance relative to evolutionary siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (33%) across 15 parameters, and the description adds no parameter meaning at all. Some parameters like timezone and fields have schema descriptions, but the description does not compensate for the many undocumented required and optional inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific astrological technique ('JWG's 4-type by Pluto house quadrant') and the tool title 'Soul Types' signals the output. This distinguishes it from siblings like pluto_natal_condition, but the description lacks an explicit verb and does not directly compare to alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other evolutionary astrology tools. It only lists the group and cost. An agent must infer usage from the name and technique alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_evolutionary_yesterday_skyYesterday's SkyCRead-onlyIdempotentInspect
Forrest 2008 past-life method.
[Group: Evolutionary Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| narrative | No | |
| disclaimer | No | |
| pastLifeImprint | No | |
| luminaryContacts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description adds only a cost tier and group label, not meaningful behavioral context such as what the output represents, limitations, or how the past-life method is applied. Cost is useful operationally but does not explain tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is very short and front-loads the method reference, with no filler sentences. However, it is under-specified rather than genuinely concise, and the bracketed tags read more like metadata than helpful structure for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 15 input parameters, 4 required fields, and low schema description coverage, the description is drastically incomplete. It provides no explanation of inputs, output, usage context, or how this differs from sibling tools, leaving the agent with almost nothing beyond the annotations and title.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is only 33%, and the description provides no parameter guidance whatsoever. Required inputs like date, time, latitude, and longitude are undocumented in the description, and optional parameters such as zodiacType, houseSystem, and cosmogram are not explained. The description fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific astrological technique (Forrest 2008 past-life method), which gives some sense of the domain. However, it never states what the tool actually computes or returns, and it does not distinguish this from sibling evolutionary astrology tools such as skipped steps or nodal axis detail. An agent would still have to infer the purpose from the title and group.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The group tag 'Evolutionary Astrology' and cost tag imply a specialized context, but no explicit conditions, exclusions, or sibling routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_family_genogramGenogramCRead-onlyIdempotentInspect
Multi-generational family pattern map.
[Group: Family Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| child | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| parent | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| grandparent | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| disclaimer | No | |
| karmicLine | No | |
| generations | No | |
| moonInheritance | No | |
| outerPlanetEcho | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds one genuinely useful behavioral fact not in the annotations: the 10-credit Tier 1 cost. However it says nothing about what the computed genogram contains or how the three generation datasets interact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse lines with metadata brackets. It is front-loaded and waste-free, but six substantive words is under-specification for a tool requiring three nested birth-data objects, not true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three required nested objects, an output schema, and several near-identical family siblings, the description omits what the genogram analysis returns and what distinguishes it from the other family pattern tools. An agent could call it correctly from the schema alone but cannot judge relevance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data schemas are exceptionally detailed, so the baseline is 3. The description adds no parameter meaning beyond that, but it also does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Multi-generational family pattern map' names the artifact produced but contains no verb and does not differentiate from close siblings such as astroway_family_system_pattern or astroway_family_parent_child_deep. An agent can guess it builds a genogram, but must infer that from the tool name rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternatives. The only context is a group tag and a credit cost, which tells the agent nothing about selecting this tool over the other family-astrology siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_family_parent_child_deepParent-Child DeepCRead-onlyIdempotentInspect
Deep parent-child synastry analysis.
[Group: Family Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| child | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| parent | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| mcContact | No | |
| disclaimer | No | |
| interpretation | No | |
| luminaryAspects | No | |
| inheritanceScore | No | |
| saturnCrossCount | No | |
| parentalAxisOverlay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, closed-world and non-destructive, so the safety profile is covered. The description adds a genuinely useful behavioral fact (10 credits, Tier 1 cost), but says nothing about what 'deep' entails, response shape, or whether both charts must have exact birth times.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus two bracketed metadata lines; nothing is padded or buried. It is terse to the point of being sparse, but every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the input schema is rich. However, for a two-chart, 10-credit analysis the description omits what distinguishes it from sibling family tools and any indication of the scope of the result, leaving it minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested parent/child objects are documented in detail (date/time formats, coordinates, houseSystem letters, timezone handling), so the schema carries the load. The description adds no parameter meaning of its own, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific pairing and technique (parent-child synastry), which is more than the bare name conveys, but 'Deep ... analysis' largely restates the title 'Parent-Child Deep'. It never distinguishes this from the many adjacent family/relational tools, so the boundary is left to the reader.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no naming of alternatives such as astroway_family_system_pattern, astroway_family_genogram, or astroway_relational_synastry. The only routing hint is the '[Group: Family Astrology]' tag, which is implied usage at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_family_saturn_return_cyclesSaturn Return CyclesCRead-onlyIdempotentInspect
Saturn return timing across a family cohort.
[Group: Family Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| members | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| members | No | |
| disclaimer | No | |
| concurrentTransits | No | |
| familyPhaseSummary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful operational context by disclosing the credit cost (10 credits, Tier 1) and its group, but says nothing about the 2-8 member cohort bounds, batching behavior, or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence plus bracketed metadata, with zero padding or redundancy. It is efficient, though the extreme brevity is part of why other dimensions are weak.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but the description omits essential calling context: the required cohort of 2-8 birth records, that each member needs full birth data plus optional role, and how Saturn return timing is reported per member. For a multi-member cohort tool this leaves too much to the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description contributes no parameter information whatsoever; it does not mention members, fields, or precision. With schema description coverage at only 67%, the description should compensate for the undocumented parameter surface, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific astrological technique (Saturn return timing) and a specific scope (a family cohort), which is enough to tell it apart from generic family tools like astroway_family_genogram. However, it never explicitly distinguishes itself from the other family-astrology siblings (parent_child_deep, sibling_dynamics, system_pattern), so the differentiation is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the other family tools. The 'Family Astrology' group tag is metadata, not routing guidance, so an agent must infer when this technique applies versus the sibling family analyses.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_family_sibling_dynamicsSibling DynamicsCRead-onlyIdempotentInspect
Inter-sibling synastry and dynamics.
[Group: Family Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| parent | No | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| sibling1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| sibling2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| disclaimer | No | |
| moonAspect | No | |
| siblingScore | No | |
| mercuryAspect | No | |
| interpretation | No | |
| sharedParentImprint | No | |
| siblingHouseOverlay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered without the description's help. The definition does add non-obvious operational context in the form of a credit cost and tier, which is genuinely useful for budgeting tool calls, but says nothing about the two-chart inputs, computation weight, or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two lines with zero filler and the core subject front-loaded, so nothing wastes space. However the brevity is under-specification rather than tightness — there is simply too little content for a tool of this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a heavy tool: three nested birth-data objects, a compact-mode fields parameter, and a precision control. An output schema exists so return values need no explanation, but the description never mentions that two complete birth charts are required or how this differs from the other family/relational synastry tools, leaving a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data objects are documented in detail, so the baseline is 3. The description contributes nothing about sibling1/sibling2, the optional parent chart, precision, or fields, leaving all parameter meaning to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a recognizable scope — synastry between siblings — but 'dynamics' is vague and the definition never distinguishes this from siblings such as astroway_family_parent_child_deep or astroway_relational_synastry. An agent gets the general subject but not the specific output this tool produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative among the many family/relational synastry siblings. The [Group: Family Astrology] tag implies taxonomy but gives no routing logic, so an agent must guess between this and the other family tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_family_system_patternFamily System PatternCRead-onlyIdempotentInspect
System-level family astrological signatures.
[Group: Family Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| members | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| members | No | |
| disclaimer | No | |
| systemSummary | No | |
| excludedThemes | No | |
| generationalShadow | No | |
| luminaryGhostContacts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely useful metadata not present in structured fields: the 10-credit Tier 1 cost and the Family Astrology grouping. Beyond cost, it discloses nothing about what the analysis returns or requires.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two lines that are short because they are under-specified rather than economical. Bracket tags are present but the core sentence is too thin to guide a call.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema and full annotations, a multi-member relational astrology tool surrounded by nine family siblings needs more than a noun phrase. The description leaves the agent unable to know what a "family system pattern" computes or when to prefer it over the other family tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema is richly annotated (67% coverage), especially the nested member birth-data object. The description contributes nothing to parameter meaning, not even that members is a 2-8 chart array or what role values do, so it fails to compensate for the uncovered third.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"System-level family astrological signatures" largely restates the title (Family System Pattern) without a verb or concrete output. It never distinguishes itself from the nine sibling family tools (genogram, parent_child_deep, sibling_dynamics, saturn_return_cycles), so an agent cannot tell what unique computation this performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative. With so many overlapping Family Astrology siblings, the total absence of routing guidance leaves the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_financial_career_money_styleCareer Money StyleCRead-onlyIdempotentInspect
Income / earning archetype by sign.
[Group: Financial Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| careerMoneyStyle | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world behavior, so the safety profile is covered. The description's one added behavioral fact is the billing cost (10 credits, Tier 1), which is genuinely useful and not in the annotations, but it says nothing about prerequisites, what the archetype output represents, or depth of interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with no wasted sentences, but the brevity comes from under-specification rather than discipline; the description is a label plus metadata tags, not an informative statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart tool, the description omits what input is needed, how the archetype is derived, and how it differs from numerous sibling financial tools. An output schema exists so return values need no explanation, but the input and routing story remain incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description needs to compensate for the undocumented ones (date, time, latitude, longitude, city, name, zodiacType, houseSystem, cosmogram) and does not. It gives zero parameter meaning, not even that birth date/time/place are required inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment 'Income / earning archetype by sign' names a topic but is vague about the operation: it never says it computes an interpretive archetype from a natal chart, and 'by sign' misleadingly suggests a sun-sign lookup despite requiring full birth data. It also does not distinguish itself from close siblings like astroway_financial_investor_archetype or astroway_financial_spending_style.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing information anywhere in the description. The only context is a group tag and a credit cost, neither of which tells an agent when to select this tool over its many financial-archetype siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_financial_investor_archetypeInvestor ArchetypeCRead-onlyIdempotentInspect
Investor type + bias + strength + pitfall by sign.
[Group: Financial Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| archetype | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful non-schema context — the Financial Astrology group and a 10-credit Tier 1 cost — which helps an agent budget calls, but it discloses nothing about how the archetype is derived or whether a full chart computation is triggered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense clause plus two structured metadata tags — front-loaded, no filler, nothing redundant with the schema. It is terse to the point of being cryptic, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. But for a 15-parameter tool with four mandatory birth-data inputs and 33% schema coverage, the description omits the most decision-relevant fact: which sign drives the archetype and what the birth data is used for. That gap is not covered anywhere else.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the four required parameters (date, time, latitude, longitude) carry no descriptions at all. The description's only parameter-adjacent hint is 'by sign', which does not explain that these birth-data fields are what produce the sign, nor which sign (Sun, rising, etc.) is used. With coverage below 50%, the description was expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Investor type + bias + strength + pitfall by sign' names the resource (investor archetype) and enumerates its outputs, but uses a noun list rather than a verb+resource statement, so it never says what the tool *does* (compute/derive an archetype). It only weakly separates itself from financial siblings like astroway_financial_risk_tolerance or astroway_financial_spending_style, which could plausibly return the same 'bias/strength/pitfall' framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative among the many financial sibling tools. An agent must guess whether this is the right call versus financial_risk_tolerance, financial_spending_style, or financial_career_money_style.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_financial_lucky_dayLucky Day of WeekCRead-onlyIdempotentInspect
Days traditionally aligned with the sign.
[Group: Financial Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| luckyDays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint, so safety is covered. The description does add one genuinely useful behavioral fact not in the schema or annotations: a cost of 10 credits (Tier 1). It says nothing about rate limits, return shape, or what the required location parameters are used for.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with no padding, which is good, but the brevity comes from under-specification rather than efficiency. The two metadata lines (group, cost) are the only structurally useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrological tool with four required inputs and a dedicated output schema, the description omits the essential framing: what the sign basis is, why location and time are needed, and how the result should be interpreted. An output schema excuses return-value detail, but not the missing input semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate, and it adds nothing about parameters. It never explains why latitude/longitude/time are required for a lucky-day result or how zodiacType/ayanamsa affect the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Days traditionally aligned with the sign' is a fragment with no verb and no statement of what the tool computes or returns. It gestures at the lucky-day concept but never says how the sign is derived from the required date/time/location inputs, so it sits closer to a restatement of the title than a real purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives (e.g. astroway_financial_lucky_numbers, astroway_pet_lucky_day), and no prerequisites. The only bracketed lines are group and cost metadata, which describe billing rather than when this tool should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_financial_lucky_numbersLucky NumbersCRead-onlyIdempotentInspect
Gematria-style number set per sign.
[Group: Financial Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| luckyNumbers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the cost/tier signal (10 credits, Tier 1), which is genuinely useful context, but says nothing about permissions or what the computed number set contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with no padding, and the group/cost lines are structured metadata. However, brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart-based tool, the description is far too thin. The output schema covers return values, but the description does not clarify required inputs, the sign-versus-chart ambiguity, or how options like ayanamsa/houseSystem affect anything.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters, so the description is expected to compensate but does not. It never explains which inputs drive the result, and "per sign" actively misleads since the schema requires date/time/latitude/longitude and exposes no sign field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment "Gematria-style number set per sign" largely restates the tool name (Lucky Numbers) and never states a verb or what is actually computed. It is a near-tautology with no scope statement that would distinguish it from astroway_financial_lucky_day or the many numerology tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative tool. It also does not explain the mismatch between "per sign" and a schema that has no sign parameter, leaving the agent to guess how the tool is intended to be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_financial_market_timingMarket-Timing Caution WindowsBRead-onlyIdempotentInspect
Generic caution windows (Mercury Rx, eclipses, Mars Rx, major macro aspects).
[Group: Financial Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| note | No | |
| disclaimer | No | |
| cautionWindows | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds the useful 'generic' (non-personalized) framing and the cost line, but does not describe cadence, window granularity, or what the caution windows look like beyond a parenthetical list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely tight and front-loaded: one content sentence plus metadata tags, with zero filler. It is arguably under-specified rather than verbose, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not required, and the read-only profile is covered by annotations. What is missing is any guidance on selection versus siblings and any input context, leaving the definition just barely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description says nothing about any parameter. The required `date` parameter has no schema description (only a regex pattern), and with coverage at 67% the description should compensate for that gap rather than stay silent on inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (caution windows) and enumerates its contents (Mercury Rx, eclipses, Mars Rx, major macro aspects), so an agent understands it returns market-timing hazard periods for a date. It does not, however, distinguish itself from close siblings like astroway_calendar_retrograde_periods or astroway_calendar_eclipses, which cover overlapping phenomena.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternatives. The word 'Generic' hints the result is not personalized to a natal chart, but the description never states when an agent should prefer this tool over the financial_* or calendar_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_financial_risk_toleranceRisk ToleranceCRead-onlyIdempotentInspect
Element-based risk tolerance + suggested allocation buckets.
[Group: Financial Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| riskTolerance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description's one contribution is the '[Cost: 10 credits (Tier 1)]' note, which is genuinely useful behavioral context, but it says nothing about what data is required or what happens on missing input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded one-line summary followed by group and cost metadata; no filler sentences. It is efficient, though arguably too terse for a 15-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a tool requiring birth date, time and coordinates the description never says what input it consumes or how the result should be interpreted. Given 15 parameters and 33% schema coverage, this is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the four required parameters (date, time, latitude, longitude) carry no schema descriptions at all. The description adds zero parameter meaning, so it fails to compensate for the coverage gap on a 15-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Element-based risk tolerance + suggested allocation buckets' names a specific computed resource and hints at the method (element-based) and the output (allocation buckets), so it is more than a tautology. But there is no verb describing the operation and no hint that the input is a birth chart, so an agent cannot distinguish it cleanly from siblings like astroway_financial_investor_archetype or astroway_business_risk_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the nine other financial_* siblings it competes with. The only routing aid is the '[Group: Financial Astrology]' tag, which categorizes rather than instructs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_financial_savings_tipsSavings TipsCRead-onlyIdempotentInspect
Element-based saving recommendations.
[Group: Financial Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| sunSign | No | |
| disclaimer | No | |
| savingsTips | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds only group/cost metadata and does not disclose anything behavioral beyond that (no scope, no determinism based on inputs, no auth requirements).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the core phrase, with no padding. The remaining lines are group/cost metadata rather than description prose, so it is concise mostly by omission rather than by tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But for a 15-parameter, 4-required astrological computation feeding a large financial-tool family, the definition omits parameter meaning, usage context, and sibling routing, leaving it materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description must compensate for the undocumented half, but it says nothing at all about any parameter. "Element-based" gives no hint at the required date/time/latitude/longitude inputs or which controlled vocabularies apply, leaving the gap entirely unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Element-based saving recommendations" names the resource (savings recommendations) with a modifier (element-based), so an agent can roughly tell it produces money-saving guidance rather than a chart or score. However, it uses no specific verb (generate/return) and offers no differentiation from the many financial siblings such as astroway_financial_spending_style or astroway_financial_wealth_cycle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use, when-not-to-use, or alternative routing. With nine-plus financial siblings, an agent has no guidance on why it should pick this tool over spending_style, wealth_cycle, or market_timing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_financial_spending_styleSpending StyleCRead-onlyIdempotentInspect
Sign-specific spending pattern.
[Group: Financial Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| spendingStyle | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the pricing tier ('10 credits, Tier 1'), which is genuinely useful context not present in annotations, but says nothing about what is computed, what is returned, or what inputs are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with no padding and the purpose line is front-loaded before the metadata tags. However, brevity here comes at the cost of substance rather than from efficient expression, so it is only minimally acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with only 33% schema coverage, this description is far too thin: it omits the required birth-data inputs, the meaning of the many optional chart settings, and any differentiation from the other financial tools. An output schema exists, so return-value detail is not required, but the invocation-side gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a heavy compensation burden and delivers nothing. It never mentions the required birth data (date, time, latitude, longitude), nor explains city, name, cosmogram, zodiacType, houseSystem, or ayanamsaId, which are undocumented in the schema as well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description ('Sign-specific spending pattern') essentially restates the tool name and title without a verb, scope, or output indication. It does not distinguish this tool from the many sibling financial tools (astroway_financial_career_money_style, astroway_financial_wealth_house, astroway_financial_risk_tolerance, astroway_financial_savings_tips), leaving an agent unable to tell which to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no prerequisites, no conditions, and no mention of alternative financial tools. The only extra text is group/cost metadata, which does not tell an agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_financial_wealth_cycleWealth Cycle (long)CRead-onlyIdempotentInspect
Long-cycle archetype tied to Jupiter (~12y) and Saturn (~29y) returns.
[Group: Financial Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| element | No | |
| sunSign | No | |
| archetype | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without description help. The description adds only the cost tier (10 credits), a modest piece of behavioral context, but says nothing about what the computation produces or any limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus two short metadata tags, with no wasted prose. It is efficient, though arguably under-specified rather than lean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and required inputs are standard chart coordinates. Still, for a 15-parameter tool with low schema coverage and no usage routing, the description leaves the agent guessing about the analysis produced and when to prefer it over siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate, yet it mentions no parameter at all (date, time, latitude, longitude, zodiacType, houseSystem, etc. are left entirely to the schema). The documented parameters are rich, but the description adds zero semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific concept (a long-cycle wealth archetype keyed to Jupiter ~12y and Saturn ~29y returns), so an agent can tell it is a financial-astrology computation. However, it supplies no verb describing the operation and does not distinguish it from close siblings like astroway_family_saturn_return_cycles or astroway_calendar_planetary_cycles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing says whether this is for a long-term wealth outlook versus astroway_financial_market_timing (short-term) or astroway_financial_wealth_house. The group and credit tags are metadata, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_financial_wealth_house2nd & 8th HouseBRead-onlyIdempotentInspect
Personal money (2nd) and shared resources (8th) house cusps + signs.
[Group: Financial Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| house2 | No | |
| house8 | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely useful operational context — the 10-credit Tier 1 cost and group membership — but says nothing about auth, rate limits, or what the output contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is short, front-loaded, and waste-free, with cost/group metadata separated out. Nothing is padded, though there is also very little content to earn the space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, for a 15-parameter chart tool with 33% schema coverage, the description is too thin to be fully adequate — it omits routing guidance and parameter clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description adds no parameter meaning whatsoever. Several parameters (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId) are undocumented in both schema and description, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific resource precisely: house cusps and signs for the 2nd (personal money) and 8th (shared resources) houses. This distinguishes it from generic financial siblings like financial_wealth_cycle, though it names no alternative tool explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over the many other financial-astrology siblings (wealth_cycle, money_style, investor_archetype). The reader must infer usage from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acgAstrocartography (A*C*G)CRead-onlyIdempotentInspect
Calculate ACG lines for all planets: the geodetic map lines where each planet was on an angle at birth.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lines | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld=false, and non-destructive, so the safety profile is covered. The description adds real value with the cost disclosure (50 credits, Tier 3), which matters for a metered tool, but says nothing about output shape or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences plus structured group/cost metadata; nothing is wasted. It is tight, though the brevity is partly what leaves the parameter story untold.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but a 15-parameter astrological calculation with 33% coverage and no guidance on sidereal vs tropical, ayanamsa selection, or date/timezone handling is under-specified for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Fifteen parameters with only 33% schema description coverage, and the description mentions none of them. Critical choices such as zodiacType, ayanamsa, timezone vs timezoneOffset, and the compact-mode fields/precision have no guidance beyond terse schema text, and four required birth inputs are never explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (calculate A*C*G lines) and defines the concept (geodetic map lines where each planet was angular at birth). It is clearly the base ACG computation, but it never distinguishes itself from the many geo_acg_* siblings such as line_report, by_category, or best_places.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. With eight astroway_geo_acg_* siblings plus geo_geodetic, geo_relocation, and geo_local_space in the same family, an agent gets no help deciding when this raw calculation is preferable to the report/category/zone variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_best_placesBest places for a life categoryBRead-onlyIdempotentInspect
Rank cities against the astrocartography lines of a chart for one of the 19 life categories. Distance to a line is computed from the body hour angle and altitude rather than against a discretised polyline, so it is exact: the distance to a horizon line IS the altitude in degrees of arc, and a meridian line offset is the hour angle times cos(latitude). Supportive and challengin…
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data plus a life category. Birth coordinates are optional and unused for the ranking: astrocartography lines are a property of the birth moment, not of the birth place. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pool | No | |
| sort | No | |
| type | No | |
| count | No | |
| orbKm | No | |
| places | No | |
| dataset | No | |
| category | No | |
| attribution | No | |
| minSeparationKm | No | |
| suppressedAsTooClose | No | |
| maxPossibleSupportive | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description adds useful algorithmic context by explaining that distance is computed exactly from hour angle and altitude rather than a discretised polyline, and that it ranks supportive versus challenging influences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, but the description then spends significant space on a technical formula and ends with a truncated phrase ('Supportive and challengin…'). It is not wasteful, but not tightly structured either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, rich annotations, and full schema descriptions, the main missing piece is usage guidance relative to sibling tools. For a specialized ranking tool, the description is adequate but leaves routing decisions to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter already has documentation. The description mentions the 19 life categories and supportive/challenging ranking, but adds no syntax or format details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Rank cities against the astrocartography lines of a chart for one of the 19 life categories.' That is clear and actionable, but it does not explicitly differentiate this tool from close siblings such as astroway_geo_acg_by_category or astroway_geo_acg.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use, when-not-to-use, or alternative-tool guidance. An agent must infer from the name and sibling list whether this or another ACG endpoint is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_by_categoryA*C*G by Life CategoryBRead-onlyIdempotentInspect
ACG lines that govern one area of life, ranked by astrological weight and, when a point is supplied, by proximity to it. Returns curated interpretation text per line in 11 languages.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| lines | No | |
| point | No | |
| category | No | |
| language | No | |
| polarity | No | |
| radiusDeg | No | |
| requestedLanguage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the ranking logic, the curated-interpretation return, and the [Cost: 50 credits (Tier 3)] disclosure. It loses credit because it claims '11 languages' while the schema's language enum exposes 21, an internal inconsistency that could mislead an agent about coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences carry the core behavior, with the ranking rule front-loaded, followed by structured [Group] and [Cost] metadata lines that are easy to scan. Nothing is wasted, though the '11 languages' clause is inaccurate rather than merely brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully documented, so return-value explanation is unnecessary. For a read-only geo tool sitting in a family of six similar astroway_geo_acg* tools, the description is adequate on behavior but incomplete on routing, which is the main thing an agent needs here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested body schema already documents date/time/latitude/longitude, timezone handling, category, polarity, radiusDeg, and language in detail. The description's only parameter-adjacent contribution is the optional 'point' behavior for proximity ranking, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: A*C*G lines filtered to one life category, with a stated ranking rule (astrological weight, then proximity when a point is supplied). It does not, however, differentiate itself from close siblings such as astroway_geo_acg, astroway_geo_acg_categories, or astroway_geo_acg_line_report, so an agent cannot tell from the text alone which of the six geo_acg tools to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the conditional clause 'when a point is supplied, by proximity to it,' which hints that a location is optional but never states when to choose this tool over astroway_geo_acg or astroway_geo_acg_categories. There is no when-to-use, when-not-to-use, or prerequisite guidance, and the sibling list is crowded with near-duplicates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_categoriesA*C*G Life CategoriesARead-onlyIdempotentInspect
Reference taxonomy: 19 areas of life, each naming the planet-and-angle lines that govern it with a weight and a polarity. Free, cacheable, drives the two endpoints below.
[Group: Astro-Geography] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| language | No | |
| categories | No | |
| requestedLanguage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive and openWorldHint=false, so the safety profile is covered. The description usefully adds that this call is free and cacheable and that it is a read-only reference rather than a computation, which is genuine value beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the substance (taxonomy, 19 areas, planet-and-angle lines), tail metadata kept short. Efficient, though the dangling "two endpoints below" reference and mixed bracketed tags add slight noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the tool has no required parameters. However, the description leaves the "two endpoints below" unreferenced and says nothing about how the taxonomy integrates with the category-based siblings, leaving an agent to bridge that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema fully documents both the fields projection syntax and the precision rounding, so baseline 3 is appropriate. The description adds nothing about fields or precision.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource: a reference taxonomy of 19 life areas mapping planet-and-angle lines with weight and polarity. This clearly differentiates it as the static lookup table behind the ACG endpoints, distinct from computation tools like astroway_geo_acg or astroway_geo_acg_by_category. It falls short of a 5 only because it never names those endpoints explicitly ("the two endpoints below").
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Drives the two endpoints below" implies it is a lookup source rather than a computation, and "Free, cacheable" hints it is a cheap reference call, but no explicit when-to-use or when-not-to-use versus the ~15 astroway_geo_* siblings is given. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_countriesCountries available for rankingARead-onlyIdempotentInspect
Which countries the bundled city list can rank, and how many qualifying cities each has. Asking for a country with two cities and getting two results should not look like a bug.
[Group: Astro-Geography] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| dataset | No | |
| countries | No | |
| attribution | No | |
| totalCities | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive and closed-world, so safety is covered. The description adds real value beyond that: it discloses the data source (bundled city list), the per-country city counts, and expectation-setting about sparse results, plus a cost tag. Return-format and pagination behavior are left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with what it returns and followed by a caveat; the group and cost tags are short metadata. Nothing is wasted, though the second sentence is framed as reassurance rather than hard guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple reference/lookup tool with an output schema, a full field-by-field explanation of return values is unnecessary. The description covers scope, source, and the sparse-result caveat, leaving only explicit routing guidance unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both params (fields, precision) are generic compact-mode controls unrelated to this tool's specific logic. The description adds no parameter meaning, so the baseline 3 for fully documented params applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (the countries the bundled city list can rank) and what it returns (count of qualifying cities per country). It is a discovery/metadata tool, and an agent can distinguish it from ranking tools like astroway_geo_acg, though it never names a sibling to contrast with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'two cities and getting two results should not look like a bug' sentence implicitly signals this is a pre-flight sanity check before ranking, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. astroway_geo_acg_categories). Usage is inferred, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_line_reportA*C*G Line ReportARead-onlyIdempotentInspect
One line in full: its geometry, every life area it touches with weight and polarity, and the interpretation text for that planet-and-angle pair. Rising and setting curves arrive as several disjoint segments; all of them are returned.
[Group: Astro-Geography] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| line | No | |
| language | No | |
| categories | No | |
| interpretation | No | |
| requestedLanguage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe, idempotent, closed-world read, so the bar is lower; the description still adds two useful pieces of context: the 20-credit Tier 2 cost and the warning that rising/setting curves arrive as several disjoint segments that are all returned. What it does not cover is latency, result size, or whether an invalid planet/angle pair is rejected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and dense with signal, and the output-shape clause about disjoint segments earns its place. The bracketed Group/Cost tags are a house convention rather than prose waste, though they do dilute the front-loading slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, yet the description still characterizes the payload shape usefully. For a 3-parameter, single-line report tool it is nearly complete; the missing piece is routing context against the many geo_acg siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data object is heavily documented in the schema itself, so the schema does the heavy lifting. The description's phrase 'planet-and-angle pair' gestures at the two selector parameters but adds no syntax, accepted values, or defaults beyond what the schema already states. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (a single A*C*G line) and enumerates exactly what comes back: geometry, life areas with weight and polarity, and the interpretation text for the planet-and-angle pair. It is clearly narrower in scope than sibling astroway_geo_acg, but it never names that sibling or states the relationship explicitly, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. Nothing tells the agent to pick this over astroway_geo_acg (the full map), astroway_geo_acg_by_category, or astroway_geo_acg_best_places, nor what precondition (e.g. a previously identified line) should trigger a call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_zonesA*C*G Lines Near a PointARead-onlyIdempotentInspect
ACG lines passing within radiusDeg of one location, with the angular distance to each. The "what runs over this city" lookup.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| point | No | |
| radiusDeg | No | |
| nearbyLines | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety and determinism are covered structurally. The description adds the cost tier (50 credits, Tier 3), which is genuinely useful behavioral context not present in annotations, and describes the output as lines plus angular distance, but adds nothing on limits or radius semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences: purpose first, then a memorable use-case tag, followed by compact group/cost metadata. No sentence is wasted and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations plus a fully documented input schema carry most of the burden. What remains thin is the operational context around what counts as a line and how the radius filters results, but for a single-purpose geo lookup this is close to sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with detailed inline documentation for body, fields and precision, so the baseline is 3. The description alludes to radiusDeg by name ('within radiusDeg') but adds no meaning beyond what the schema's min/max/default already convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource and scope: 'A*C*G lines passing within radiusDeg of one location, with the angular distance to each', which is a specific verb+resource rather than a restatement of the title. It stops short of distinguishing itself from the many geo_acg siblings (astroway_geo_acg, astroway_geo_acg_line_report, astroway_geo_acg_by_category), so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'The "what runs over this city" lookup' gives a clear situational framing for when the tool applies. However, it offers no when-not condition and never names an alternative sibling (e.g. the broader line report) that would be preferred for a different question, leaving the routing decision implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_ccg_analysisCCG AnalysisBRead-onlyIdempotentInspect
Analyse Cyclo-Carto-Graphy (CCG) lines: progressed ACG lines at a target date with mundane/local aspects and latitude crossings.
[Group: Astro-Geography] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Wrapper { natal: ChartInput } used by endpoints that take a base natal plus extra parameters in flat fields. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| mcShift | No | |
| mundaneAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behaviour, so the safety profile is covered. The description adds the group tag and the cost (100 credits, Tier 4), which is genuinely useful for an agent budgeting calls, but says nothing about output shape, size, or computation heaviness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence carrying the core scope, followed by two compact bracket tags for group and cost. No padding or restatement of the tool name, though the technical enumeration of aspects and crossings makes it slightly dense for one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the schema fully documents the input shape. However, for a niche progressed-lines technique with many astro-geography siblings, the definition lacks the situational context (progressed vs natal vs solar) an agent needs to route correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including rich notes on timezone, ayanamsa, houseSystem and the compact-mode fields/precision parameters. The description only echoes "target date" and adds no syntax or meaning beyond the schema, so the baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Analyse") and a well-defined resource ("Cyclo-Carto-Graphy (CCG) lines"), then narrows the scope to "progressed A*C*G lines at a target date with mundane/local aspects and latitude crossings." The "progressed" qualifier implicitly separates it from natal or solar ACG tools, but no sibling is named, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to pick CCG analysis over the neighbouring astroway_geo_acg, astroway_geo_solar_acg, or astroway_geo_relocation tools, and no exclusions or prerequisites. The phrase "at a target date" only hints at temporal scoping; usage must be inferred from the technique name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_eclipse_analysisEclipse AnalysisBRead-onlyIdempotentInspect
Analyse the impact of upcoming eclipses on a natal chart: aspects to natal planets, house activations, and Saros series context.
[Group: Astro-Geography] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Wrapper { natal: ChartInput } used by endpoints that take a base natal plus extra parameters in flat fields. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| eclipses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds the credit cost (100 credits, Tier 4) and the analytical components (aspects, house activations, Saros series), but does not disclose prerequisites such as required natal birth data. With annotations covering the safety profile, this adds some value but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus two metadata lines; the purpose is front-loaded and every sentence earns its place. The cost line is relevant behavioral context, though the group line is minor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Purpose and output components are stated, and rich annotations plus a full output schema carry safety and return-value details. However, missing usage guidance and prerequisites (natal birth data required) leave a gap for correct tool selection in a crowded sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the body, fields, and precision parameters are fully documented in the schema. The description mentions no parameters, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Analyse', resource 'impact of upcoming eclipses on a natal chart', and scope items (aspects to natal planets, house activations, Saros series context) distinguish it from eclipse-listing (calendar_eclipses) and eclipse-path rendering (render_eclipse_path). No sibling tool is named, so it falls short of explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not, or alternative tool guidance is provided. The description only states what the analysis contains, leaving the agent to infer context relative to astroway_calendar_eclipses or other geo tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_geodeticGeodetic EquivalentsCRead-onlyIdempotentInspect
Convert geographic coordinates to geodetic chart degrees (Sepharial method): each longitude maps to a zodiac degree on the Earth's surface.
[Group: Astro-Geography] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| method | No | sepharial | |
| latitude | Yes | ||
| longitude | Yes | ||
| obliquity | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| geodeticMC | No | |
| geodeticAscendant | No | |
| zodiacalLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds useful non-schema context: the credit cost (10 credits, Tier 1) and the conceptual mapping rule (each longitude maps to a zodiac degree on the Earth's surface). It does not mention determinism caveats or what the response contains, but with annotations present a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence front-loads the conversion, with the technique named immediately; the metadata lines are short and clearly bracketed. No filler or repetition, though the bracketed tags are arguably separable metadata rather than description content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but for a 7-parameter conversion tool with 29% schema coverage the description omits the method alternatives, the role of obliquity/year, and any indication of when this is the right geo tool. It is materially under-specified for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% across 7 parameters, so the schema leaves latitude/longitude ranges, year, obliquity and method largely undocumented in prose. The description names only the 'Sepharial method' and never mentions the alternative 'johndro' enum value or what obliquity/year affect, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Convert geographic coordinates to geodetic chart degrees') and names the technique (Sepharial), so the transformation is unambiguous. It does not differentiate itself from the many other geo siblings (geo_acg, geo_relocation, geo_zenith, geo_local_space), leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this conversion versus other geo tools, nor any prerequisites. The bracketed group/cost lines are metadata, not usage guidance, so an agent gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_local_spaceLocal Space ChartBRead-onlyIdempotentInspect
Calculate local space chart: azimuth and altitude of each planet from a given geographic location at the birth moment.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| lines | No | |
| birthplace | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds the scoping detail that the chart is anchored to the birth moment and discloses a cost tier (50 credits), which is genuine extra context, but says nothing about response shape or computation limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences that front-load the core action and the output definition, plus bracketed metadata for group and cost. Every element is doing work, though the group/cost tag is boilerplate rather than tool-specific substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained. However, for a 15-parameter tool with low schema coverage, the definition is too thin on parameter behavior and sibling differentiation to be fully complete, even if it is adequate on the core purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a heavier burden to compensate. It adds no parameter meaning at all — nothing about required date/time/latitude/longitude, the sidereal option, house system, timezone handling, or the compact-mode fields/precision parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and resource (local space chart), and defines the output precisely as azimuth and altitude of each planet from a geographic location at the birth moment. It does not, however, distinguish itself from the sibling astroway_geo_local_space_influence_zone or other geo tools, so an agent must infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. With ~15 geo siblings (geo_acg, geo_relocation, geo_zenith, local_space_influence_zone), the description gives no hint about which geographic technique this is and when it is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_local_space_influence_zoneLocal Space Influence ZoneBRead-onlyIdempotentInspect
Calculate the local space influence zone lines for a chart relocated to a specific city: lines on the map showing planet directions from that location.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| azimuth | Yes | ||
| latitude | Yes | ||
| halfAngle | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| maxDistDeg | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| polygon | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuinely useful context beyond that: the group (Astro-Geography) and a cost of 50 credits (Tier 3), which helps an agent budget. It does not add deeper traits such as auth needs or rate limits, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and wastes no words, and the bracketed group/cost tags are compact metadata. Slightly over-terse for the number of undocumented parameters, but structurally sound.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. However, four optional/required parameters (azimuth, halfAngle, maxDistDeg) are undefined anywhere, and there is no guidance on choosing this tool over its geo siblings, leaving real gaps for a 7-parameter cost-bearing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 29%: only `fields` and `precision` are documented, while azimuth, latitude, longitude, halfAngle, and maxDistDeg have no descriptions. The description does not compensate, offering at most an indirect hint that latitude/longitude relate to 'a specific city' and nothing at all for azimuth, halfAngle, or maxDistDeg.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Calculate') and resource ('local space influence zone lines'), plus a clarifying gloss ('lines on the map showing planet directions from that location'). This is clear enough to distinguish it from generic geo tools, but it does not explicitly contrast with the close sibling astroway_geo_local_space, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a chart relocated to a specific city' implies the scenario, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g., astroway_geo_local_space vs astroway_geo_relocation). The agent must guess which geo tool applies to a given request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_acquisitioAcquisitio: GainCRead-onlyIdempotentInspect
Gain, profit, abundance.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful non-annotation context: a cost of 10 credits (Tier 1) and the Agrippa system grouping. It does not, however, describe response shape or any behavioral nuance beyond pricing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and cleanly structured with bracketed metadata, but the opening line largely duplicates the title rather than adding content, so brevity here reflects thinness rather than economy. It is front-loaded but not substantive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero required parameters and an output schema present, the description is not obligated to explain return values, and annotations cover safety. What remains missing is the fundamental statement of what invoking this tool produces, which is why it sits at minimum viability rather than higher.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both optional parameters (fields, precision) are fully documented in the schema, including compact-mode semantics and rounding. The description adds nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a synonym list for the figure's name/title: 'Acquisitio: Gain' restated as 'Gain, profit, abundance.' It never states what the tool actually does (compute a geomancy figure? return an interpretation?) or how it differs from the 15 sibling geomancy figure tools. An agent learns the symbol's meaning but not the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative selection guidance is present. The '[Group: Geomancy (Agrippa)]' tag hints at family membership but gives no selection criteria among albus, amissio, fortuna_major, etc. This is effectively no guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_albusAlbus: WhiteCRead-onlyIdempotentInspect
Wisdom, peace, clarity.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the group tag and a concrete cost (10 credits, Tier 1), which is genuine behavioral context, but says nothing about authentication, rate limits, or what the figure output contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the keyword fragment, but the content is not functional and the group/cost tags are structured metadata rather than explanatory prose. Briefness here stems from under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but the description still fails to tell the agent what this tool produces or why it differs from its many geomancy siblings. For a tool in a 16-figure family, that omission is material.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (fields, precision) are fully documented in the schema, so the baseline of 3 applies. The description contributes no additional parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a three-word keyword fragment ("Wisdom, peace, clarity.") that echoes the title "Albus: White" rather than stating what the tool does. It never says it returns the Albus geomantic figure, its interpretation, or its attributes, so an agent cannot distinguish it from the 15 sibling geomancy figures by function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to invoke this figure versus any of the other geomancy tools (Puer, Rubeus, Fortuna Major, etc.). No conditions, prerequisites, or alternatives are mentioned at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_amissioAmissio: LossCRead-onlyIdempotentInspect
Loss, letting go, slipping away.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that the tool is read-only, idempotent, non-destructive, and not open-world, so the safety profile is clear. The description adds useful context by naming the group 'Geomancy (Agrippa)' and stating a cost of 10 credits (Tier 1), but it does not add further behavioral detail beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the thematic phrase before grouped metadata for group and cost. There is little wasted text, though the thematic phrase alone is not very informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and full parameter descriptions are present, and annotations cover the safety profile, so the description need not explain return values or invocation mechanics. However, it remains thin on what the tool does and when to select it among many similar geomancy figure tools, leaving a meaningful contextual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are fully described in the input schema. The description adds no parameter semantics of its own, so the baseline of 3 applies because the schema carries the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the symbolic theme 'Loss, letting go, slipping away' but never states what the tool actually does, such as retrieve or interpret the Amissio geomancy figure. It largely restates the title 'Amissio: Loss' without adding an action verb or clear resource distinction from the many sibling geomancy figure tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool, when not to, or which sibling geomancy tool to choose instead. The thematic phrase may imply a loss-related context, but this is not explicit enough to count as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_caput_draconisCaput DraconisCRead-onlyIdempotentInspect
Dragon's Head: beginnings, threshold.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful cost (10 credits, Tier 1) and group context, but does not disclose any additional behavioral traits such as what the returned data represents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, front-loaded with the figure's meaning, and includes no filler. Its only weakness is that the brevity reflects under-specification rather than efficient completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, annotations are rich, and both parameters are fully described, so the description need not cover return values or parameter syntax. However, it still fails to state the tool's purpose or usage context, leaving the agent to infer the operation from the name and title.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both optional parameters (fields and precision) are fully documented by the schema. The description adds no parameter-level meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title ('Dragon's Head') and adds symbolic keywords ('beginnings, threshold') but provides no action verb or statement of what the tool actually does. It does identify the specific geomancy figure among siblings, but stops short of explaining the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to use this tool versus alternatives such as other geomancy figures or contextual reading tools. The group and cost metadata are present but do not tell an agent when this figure is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_carcerCarcer: PrisonCRead-onlyIdempotentInspect
Restriction, confinement, isolation.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description does add genuinely useful non-schema context — it is a Tier 1 operation costing 10 credits — which tells an agent about billing/cost behavior. It says nothing about what the response contains or whether the reading is deterministic per invocation, so it earns partial credit only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is compact and carries no filler, and the labeled [Group]/[Cost] tags give it a discernible structure. However the terseness is under-specification rather than disciplined conciseness — the fragment conveys symbolic flavor, not what the call does, so it does not fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and only 2 optional params exist. But with 15 near-identically-named geomancy siblings, an agent still lacks the one thing it needs: confirmation that this tool produces the Carcer figure's reading and any input convention (e.g., a chart or seed) for it. The description is complete only in the metadata sense.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (fields, precision) are fully documented including examples and units in the input schema. The description adds no parameter meaning at all, so the baseline of 3 for full schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a keyword gloss ('Restriction, confinement, isolation') that restates the title 'Carcer: Prison' rather than stating a verb+resource. It never says the tool returns a geomancy figure reading/chart, so an agent cannot distinguish it from the 15 other astroway_geomancy_* siblings beyond the figure's name. This is effectively a tautology of the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of when a caller should pick Carcer over Veritas/Via/Puella or the other geomancy figures. The only contextual hint is the bracketed Group tag, which is taxonomy rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_cauda_draconisCauda DraconisCRead-onlyIdempotentInspect
Dragon's Tail: endings, exit.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description does add genuinely useful context the annotations lack — the cost (10 credits, Tier 1) and the group membership. However, it discloses nothing about what a call actually produces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, with the figure's meaning first and metadata bracketed below. No sentence is wasted, though the first line conveys symbolic flavor rather than operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the parameters are fully documented. What is missing is the core operational statement of what the tool does, which leaves an agent guessing at its behavior despite the otherwise adequate structured coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (fields, precision) are already fully documented in the schema. The description adds no parameter meaning beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the figure's name translated with a symbolic gloss ("Dragon's Tail: endings, exit"). It never states a verb or what the tool returns — no indication that it delivers a geomancy reading for this figure. It restates the title rather than describing a function, and does not distinguish the tool from the 15 sibling geomancy figures beyond the figure's name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no alternative tools are named. The symbolic gloss "endings, exit" hints at the kind of question this figure suits, which is weak implied usage, but nothing tells the agent how to choose between Cauda Draconis and Caput Draconis or the other figures.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_coniunctioConiunctio: ConjunctionCRead-onlyIdempotentInspect
Union, meeting, partnership.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds one genuine piece of behavioral context — the 10-credit (Tier 1) cost — plus the group tag, but says nothing about response behavior or interpretation depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief and free of filler sentences, but the sole content line is a keyword gloss that does not earn its place as functional documentation. Shortness here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return values need not be explained, but the description still omits the most basic fact an agent needs: what invoking this tool produces and in what context to invoke it. For a domain-specific divination tool surrounded by many near-identical siblings, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both optional parameters (fields, precision) are fully documented in the schema itself. The description adds no additional parameter meaning, which is the expected baseline when the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the symbolic meaning of the Coniunctio figure ("Union, meeting, partnership") but never states what the tool actually does — no verb, no resource, no indication that it returns a geomancy reading. It reads as a glossary gloss of the name rather than a functional description, so an agent cannot distinguish its operation from the other fifteen geomancy figure siblings beyond the keyword.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no conditions, and no mention of alternatives among the many sibling geomancy figures. The only extra context is group/cost metadata, which does not tell an agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_fortuna_majorFortuna MajorCRead-onlyIdempotentInspect
Greater Fortune: lasting success.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful non-annotation context — the 10-credit Tier 1 cost and the Agrippa group — but says nothing about what the reading contains or how it is produced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines, front-loaded, with no filler. The group and cost tags earn their place as billing/routing context; the only weakness is that the brevity comes at the cost of substance rather than being tight specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, but the description still fails to say that this is a geomancy figure lookup, how it differs from the fifteen sibling geomancy figures, or what a caller gets back. For a 17-figure family with near-identical definitions, that gap is material.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both optional parameters (fields, precision) are fully documented in the schema with examples and defaults. The description adds nothing about them, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Greater Fortune: lasting success' restates the figure's name and gives its traditional meaning, but never states what the tool does — no verb such as 'return the geomancy reading for the Fortuna Major figure'. An agent must infer the operation entirely from the name and sibling pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no condition for choosing this figure over the sibling figures (e.g. fortuna_minor, laetitia, tristitia), and no mention of inputs or prerequisites. The [Group] and [Cost] lines describe metadata, not usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_fortuna_minorFortuna MinorCRead-onlyIdempotentInspect
Lesser Fortune: quick gains.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context the annotations don't carry — cost (10 credits, Tier 1) and group membership — but says nothing about what the call produces or requires.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, with the cost/group tags being the only structured metadata. However, the brevity stems from under-specification rather than efficient information density — the two fragments earn their place but carry very little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a divination tool in a crowded geomancy family with an output schema, the agent still cannot tell what this tool returns, what makes it distinct from fortuna_major, or what situation calls for it. The output schema covers return values, but the invocation context is largely missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both 'fields' and 'precision', so the schema fully documents the parameters. The description adds no parameter meaning beyond that, which is the expected baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the figure and gives an interpretation gloss ('Lesser Fortune: quick gains'), but never states what the tool actually does — no verb like 'returns/draws/casts a reading'. It also fails to distinguish itself from the sibling astroway_geomancy_fortuna_major, which it most needs to be differentiated from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the fifteen other geomancy figure siblings or fortuna_major. Usage is only implied by the figure name, and no conditions, prerequisites, or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_laetitiaLaetitia: JoyCRead-onlyIdempotentInspect
Happiness, optimism, healing.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the description's burden is lower. It adds genuinely non-annotated context — the credit cost (10 credits, Tier 1) and the Agrippa grouping — but says nothing about what a call yields or how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, front-loaded and free of padding, which is good structurally. However it is arguably undersized for a tool that must be distinguished from 15 sibling geomancy figures, so brevity comes at the cost of usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and full annotation coverage, the description need not explain return values, but it still omits the core fact of what the tool produces and how it differs from sibling figures. For a one-of-many esoteric lookup, that gap leaves the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both optional parameters (fields, precision) are fully documented in the schema at 100% coverage, so the schema carries the semantics. The description adds nothing about how to use compact mode or precision, making this a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a keyword gloss of the figure's meaning ('Happiness, optimism, healing') that essentially restates the title 'Laetitia: Joy'. It never states the tool's action — e.g. that it returns a geomancy reading/interpretation for the Laetitia figure — so an agent cannot tell what it actually does versus its 15 geomancy siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives among the many astroway_geomancy_* siblings, and no prerequisites or exclusions. Only the group tag and credit cost are provided, which do not help an agent choose this tool over a sibling figure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_populusPopulus: The PeopleCRead-onlyIdempotentInspect
Crowd, gathering, public.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds genuine context beyond that — the '[Group: Geomancy (Agrippa)]' taxonomy and the '[Cost: 10 credits (Tier 1)]' billing tier — but says nothing about what the response contains or any auth/quota behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the figure's semantic keywords before the bracketed metadata, with no wasted sentences. However, it is under-specified rather than genuinely concise — the terseness leaves the operation undefined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations fully cover the safety profile with zero required parameters. The remaining gap is the missing statement of what the tool actually produces, which is significant but partly mitigated by the structured fields carrying the rest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both optional parameters (fields, precision), and their schema descriptions are detailed and self-sufficient. The tool description contributes nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare keyword dump ('Crowd, gathering, public') that restates the title 'Populus: The People' rather than stating a verb+resource operation. It never says what calling the tool does (e.g., returns the Populus geomantic figure and its reading), so an agent cannot tell it apart from the other fifteen astroway_geomancy_* figure tools on anything but the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention of alternatives among the geomancy siblings, and no indication of what question or context should trigger this figure. The only contextual metadata is group and cost, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_puellaPuella: GirlCRead-onlyIdempotentInspect
Beauty, harmony, love.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, and an output schema exists, so the safety/return burden is covered. The description does add genuinely useful non-annotation context: the group provenance and the cost (10 credits, Tier 1), which matters for a metered API. It stops there, adding nothing about what the figure reading contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is tightly sized and cleanly front-loaded (meaning first, then bracketed metadata tags), with no filler. It is short rather than bloated, though the brevity reflects under-specification rather than disciplined economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-figure lookup tool the description should at minimum state what is returned and why an agent would pick Puella over puer or fortuna_major. Neither is present, and the sibling set offers no compensating signal. Annotations and the output schema soften the impact, but the core functional statement is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'fields' (compact dotted-path projection) and 'precision' (decimal rounding) are fully documented in the schema itself. The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Beauty, harmony, love' is the traditional meaning of the geomantic figure Puella, not a statement of what the tool does. It never says it returns a Puella figure reading, interpretation, or geomancy result, so an agent cannot infer the tool's operation from the text. It also fails to distinguish this figure tool from its 15 geomancy siblings (puer, albus, rubeus, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no condition for choosing Puella over the other 15 geomantic figure tools, and no prerequisites stated. The [Group: Geomancy (Agrippa)] tag only categorizes it; it does not route the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_puerPuer: BoyCRead-onlyIdempotentInspect
Young man, energy, impulse.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description's genuine addition is the credit cost (10 credits, Tier 1) and the group membership, which is useful operational context. It adds nothing about what the response contains, though an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments with no wasted words and the symbolic meaning front-loaded. However, the brevity comes at the cost of substance rather than being efficiently dense – there is little of value to compress.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering behavior, an output schema covering returns, and a fully documented schema, the one thing the description must supply is what distinguishes this tool from its many geomancy siblings – and it does not. It never states the operation performed or the selection criteria, leaving the agent unable to choose among the 16 sibling figures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both optional params (fields, precision), and their descriptions are self-explanatory. The description adds no parameter meaning, so the baseline 3 for fully documented schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description "Young man, energy, impulse" restates the title's symbolic keywords rather than stating an action or resource. It never says what the tool actually does (presumably return a geomancy reading for the Puer figure), so an agent learns the figure's meaning but not the tool's function. This is close to tautology against the name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no conditions, and no mention of alternatives. With 16 near-identical geomancy siblings (Puella, Rubeus, Albus, etc.) sharing this shape, the absence of any routing guidance is a serious gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_rubeusRubeus: RedCRead-onlyIdempotentInspect
Passion, anger, blood: ill omen.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description does add genuinely useful non-schema context — the 10-credit (Tier 1) cost and Agrippa system grouping — but says nothing about the response shape or any behavioral edge cases beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely tight — one evocative clause plus bracketed metadata tags, with no filler. Nothing is wasted, though the brevity is partly under-specification rather than pure economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover safety, but the core purpose — what the tool returns and how it differs from its many geomancy siblings — is absent. For a figure-lookup tool in a crowded sibling set, the description is not complete enough to select it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both optional parameters (fields, precision) are fully documented in the schema with examples and defaults. The description contributes nothing about parameters, which is the expected baseline 3 when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives evocative keywords for the Rubeus figure ('Passion, anger, blood: ill omen') but never states what the tool actually does — no verb, no 'returns the meaning of the Rubeus geomantic figure'. With 15 sibling geomancy figure tools distinguished only by name, an agent gets thematic flavor but no functional statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of how it relates to the other fifteen geomancy figure tools (e.g. whether it returns just this figure's interpretation), and no prerequisites or alternatives. The Group and Cost tags are metadata, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_tristitiaTristitia: SorrowCRead-onlyIdempotentInspect
Sadness, depression, melancholy.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description does add two genuinely useful behavioral facts not in the annotations: the group ([Geomancy (Agrippa)]) and the cost (10 credits, Tier 1). It still says nothing about what the call returns or what triggers it, but with annotations carrying the safety burden a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is minimal and front-loaded, and the bracketed metadata tags are cleanly structured. However, the three-word body is under-specified rather than genuinely concise — the brevity comes at the cost of the tool's core explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. But for a tool with no required parameters whose purpose is entirely unstated, the description leaves the agent unable to know what invoking it actually produces or when it should be chosen over the 15 sibling geomancy tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (fields, precision) are fully documented in the schema itself. The description adds no parameter guidance whatsoever, which is acceptable given the schema does the work, but earns no credit above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is "Sadness, depression, melancholy." — a list of the figure's symbolic meanings rather than a statement of what the tool does. It effectively restates the title ("Tristitia: Sorrow") and never uses a verb or names a resource, so an agent cannot tell whether it returns an interpretation, a chart placement, or a description of the geomantic figure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the 15 sibling geomancy figure tools it competes with. The only routing signal is the implicit keyword match on the figure's meaning, which the agent must infer on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geomancy_viaVia: The WayCRead-onlyIdempotentInspect
Movement, change, journey.
[Group: Geomancy (Agrippa)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| figure | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful operational context beyond the annotations: the group ('Geomancy (Agrippa)') and the cost ('10 credits (Tier 1)'). It still says nothing about the output form or whether the result is static, but the cost disclosure earns partial credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the operative theme is front-loaded, with metadata tagged at the end. However, the extreme terseness reflects under-specification rather than economy: the text is too thin to convey purpose or routing, so the brevity does not fully 'earn its place'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: two optional formatting params, full schema coverage, an existing output schema (so return values need no explanation), and annotations covering safety. Against that low complexity a minimal description is tolerable, but the total lack of differentiation from fifteen sibling figure tools leaves an agent unable to route to this tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (fields, precision) are fully documented in the schema with usage examples and defaults. The description adds no parameter semantics at all, so the baseline of 3 applies given the schema carries the full burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives only thematic keywords ('Movement, change, journey') that restate the esoteric meaning of the name/title 'Via: The Way' rather than stating what the tool does. There is no verb and no resource, so an agent cannot tell whether it returns an interpretation, a chart, or a lookup. It also fails to distinguish this tool from its fifteen near-identical geomancy siblings (puer, albus, laetitia, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of any alternative. With fifteen structurally identical geomancy figure tools listed as siblings, the absence of any selection criteria is a serious gap. Nothing tells the agent when 'Via' is the right figure vs. any other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_paransParansBRead-onlyIdempotentInspect
Crossing points of two ACG lines: the places where two planets were simultaneously angular. Returns every planet-to-planet crossing with its coordinates.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| parans | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is covered by structured data. The description usefully adds the return shape ('every planet-to-planet crossing with its coordinates') and a cost figure (50 credits, Tier 3) that is not present in the annotations. It says nothing about latency, pagination, or how many crossings to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the definition and scope lead, and the return statement follows, with group/cost metadata appended compactly. Nothing is padded, though the second sentence restates part of the first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no further explanation, and the safety profile is carried by annotations. However, for a tool with 15 parameters and 33% schema coverage, the description leaves the agent without enough guidance on which inputs matter, which is the main completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description supplies no parameter guidance at all — not for the four required inputs (date, time, latitude, longitude) nor for the many optional astrological switches (zodiacType, houseSystem, cosmogram). With a 15-parameter schema this is a significant uncompensated gap; an agent cannot tell which options actually affect paran output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete definition of the resource — 'crossing points of two A*C*G lines' where 'two planets were simultaneously angular' — and states the return content. The phrase 'planet-to-planet crossing' implicitly separates it from the sibling astroway_geo_parans_star, but that sibling is never named, so the differentiation requires inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus astroway_geo_acg, astroway_geo_acg_best_places, or astroway_geo_parans_star, and no prerequisites or exclusions are given. Usage is only implied by the '[Group: Astro-Geography]' tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_parans_starStar-planet parans (Brady)ARead-onlyIdempotentInspect
Latitudes where a fixed star and a planet are angular at the same moment, which is how Brady tabulates a paran: not a place, a latitude. Twelve event pairs per star and planet (rise, set, culminate, anticulminate, minus meridian against meridian, which is a shared right ascension rather than a paran). Each row carries the houses of the technique in plain form: which body does …
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for star-planet parans. Coordinates are not used: a paran is a latitude, and which latitudes exist depends on the moment, not on where the native was born. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| gmst | No | |
| note | No | |
| type | No | |
| count | No | |
| stars | No | |
| parans | No | |
| horizon | No | |
| julianDay | No | |
| obliquity | No | |
| latitudeLimit | No | |
| starsWithNoParans | No | |
| requestedStarsNotFound | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuine domain context: what a paran is, that it is a latitude not a location, twelve event pairs, and the distinction that minus-meridian-against-meridian is a shared right ascension rather than a paran.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core definition before the technical elaboration. Some sentences are dense and philosophical ('not a place, a latitude'), but they earn their place by disambiguating the concept.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description adequately conveys the technique and its scope; the only gap is the absence of explicit sibling routing, which is minor against the otherwise complete conceptual framing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, fields, and precision thoroughly. The description adds no parameter-level detail (syntax, defaults, units) beyond what the schema provides, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it computes latitudes where a fixed star and a planet are angular at the same moment, and frames it as Brady's tabulation. This distinguishes the star-planet scope well, though it never names the sibling astroway_geo_parans to clarify which paran tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated. The phrase 'not a place, a latitude' implicitly separates this from place-based geo tools like astroway_geo_acg, but there is no explicit when-to-use, when-not, or named alternative for the agent to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_phase_returnPhase ReturnBRead-onlyIdempotentInspect
Find dates when a planet returns to its same synodic phase relative to the Sun (e.g. next Venus heliacal rising, next Mars retrograde station).
[Group: Astro-Geography] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| phase | No | |
| planet | No | |
| returns | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, idempotent, non-destructive, closed-world operation, so the safety profile is covered. The description adds the cost tier (100 credits, Tier 4) and group, which is useful operational context, but says nothing about how far the year range can be searched, expected result volume, or whether a natal chart is required to anchor the phase.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus two structured metadata tags; no filler, no restatement of the title, and the core concept is delivered before the examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A rich input schema and an existing output schema carry most of the burden, so return values need no explanation. What remains unaddressed is the semantic link between the supplied birth data and the computed synodic phase, and how this differs from the sibling planetary-phases and retrograde-period tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents body, fields, and precision in detail. The description adds no parameter meaning beyond that baseline and notably never explains that the required 'body' is a full natal chart (date, time, latitude, longitude) plus a startYear/endYear search window, which is non-obvious for a date-finding tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Find dates when a planet returns to its same synodic phase relative to the Sun', and the two examples (next Venus heliacal rising, next Mars retrograde station) make the abstract concept concrete. However, it does not differentiate itself from several near-identical siblings such as astroway_calendar_planetary_phases, astroway_calendar_planetary_cycles, and astroway_calendar_retrograde_periods, leaving genuine ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement, no when-not-to-use, and no named alternative, despite a crowded sibling space of phase/cycle/retrograde calendar tools. The examples imply the use case but give no routing guidance for an agent choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_relocationRelocation ChartARead-onlyIdempotentInspect
Recalculate a natal chart for a new geographic location (same birth moment, different lat/lng). Returns new houses and planet house positions.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Wrapper { natal: ChartInput } used by endpoints that take a base natal plus extra parameters in flat fields. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| delta | No | |
| natal | No | |
| relocated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe-read profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds two genuinely new behavioral facts: the charged cost tier (50 credits) and what changes in the result ('new houses and planet house positions'). It omits any error/failure behavior, which keeps it off a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with zero waste: the operation, then the return. The group and cost tags are compact metadata rather than prose padding. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description needn't enumerate return values, and annotations cover safety. What it does, its cost and its core output are all present. The remaining gap is peer differentiation within the crowded astro-geography family, which the description never addresses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents body/natal, fields and precision on its own. The description adds no parameter-level meaning beyond what the schema already provides, which matches the baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Recalculate a natal chart for a new geographic location') and pins the exact concept with '(same birth moment, different lat/lng)'. This distinguishes the relocation chart from transit/return charts, though it never names a sibling geo tool (e.g. astroway_geo_local_space or astroway_geo_geodetic) to contrast against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the parenthetical: use it when you want the same birth moment relocated. There is no explicit when-to-use versus when-not, and no routing to the adjacent geo tools that also transform location data. Adequate but leaves the agent to infer the selection condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_solar_acgSolar A*C*GARead-onlyIdempotentInspect
Astrocartography for the solar return of a given year: the ACG map of the moment the Sun comes back to its natal longitude. Planet names carry an SR suffix.
[Group: Astro-Geography] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | No | |
| lines | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorldHint=false, so the safety profile is covered. The description adds a genuinely useful output convention ('planet names carry an SR suffix') and the cost tier, but says nothing about latency, response shape, or the year-based scoping behavior beyond the one clause.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose in the first clause, followed by the definitional detail and the SR-suffix note. The [Group] and [Cost] tags are boilerplate metadata but earn their place by surfacing billing tier. No wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations carry the safety profile. Combined with a 100%-documented schema, the description is sufficient for correct invocation, though it could do more to route the agent among the many A*C*G siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the rich body schema already documents date/time/latitude/longitude, timezone handling, house system letters and the compact-mode fields/precision params. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: astrocartography computed for the solar return of a given year, defined as the moment the Sun returns to its natal longitude. This distinguishes it conceptually from the natal A*C*G sibling (astroway_geo_acg) and the return family, though it never names the sibling it differs from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'for the solar return of a given year' – an agent can infer it should be used when an SR-based map is wanted rather than a natal one. But there is no explicit when-to-use/when-not-to-use guidance and no alternative tool is named despite many close geo siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_zenithZenithCRead-onlyIdempotentInspect
Find all geographic locations where a given planet is exactly at the zenith (MC) at the birth moment.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| points | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the group and 50-credit cost, but it does not explain return behavior, output format, or any auth/rate-limit context beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loads the core purpose in one sentence, followed by structured group and cost tags. It avoids waste, though the extreme brevity leaves important call details unstated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astro-geography tool with an output schema, the description is far too sparse. It does not explain the required birth-moment inputs, the missing planet selection, or how to interpret the geography results, and it fails to help an agent invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description must compensate but does not. It mentions a 'given planet' without mapping to any schema parameter, and it omits required fields such as date, time, latitude, and longitude, leaving parameter semantics almost entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Find all geographic locations where a given planet is exactly at the zenith (MC) at the birth moment.' It is clearly about astro-geography, but it does not differentiate this from many sibling geo_* tools, and it refers to a 'given planet' even though no planet parameter exists in the input schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as the many astroway_geo_* siblings. The only contextual notes are the group tag and credit cost, which do not explain use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_circuitryHD Circuitry AnalysisBRead-onlyIdempotentInspect
Analyze which of the 3 Circuits (Tribal, Individual, Collective) and 6 Sub-circuits are activated in a Human Design chart based on defined channels.
[Group: Human Design] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| circuits | No | |
| totalActive | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the cost (20 credits, Tier 2), which is genuinely useful behavioral context, but says nothing about return contents, required chart state, or limits. With annotations carrying the safety burden, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that is front-loaded with the core verb and resource, plus a compact metadata block. Nothing is wasted, though it is arguably too terse given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations cover safety. However, for a 15-parameter tool with only 33% schema coverage, the description omits how the chart inputs drive the circuit result and gives no clue about the many optional astrology parameters, leaving the definition at minimum viability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes zero parameter meaning — it never mentions date, time, latitude, longitude, or the ayanamsa/zodiac/house-system options. The burden falls entirely on the schema, which leaves several parameters undocumented, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (analyze) and resource (the 3 Circuits and 6 Sub-circuits in a Human Design chart), and scopes the analysis to activation 'based on defined channels'. That is enough to distinguish it from generic siblings such as astroway_hd_human_design or astroway_hd_penta, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites (a computed chart / defined channels), and no routing to alternatives among the many HD siblings. The '[Group: Human Design]' tag and cost tier are metadata, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_design_dateHD Design DateBRead-onlyIdempotentInspect
Find the Design date (the moment 88° of solar arc before birth) for a given birth moment, the unconscious imprinting point.
[Group: Human Design] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| birthJd | No | |
| designJd | No | |
| designDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false, so the safety profile is covered. The description adds the conceptual nature of the value ('unconscious imprinting point') and the cost/tier, but does not explain that it internally computes a chart, what precision/fields/compact mode do, or any deterministic-computation caveats. With annotations carrying safety, 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and economical, defining the value in one clause. The bracketed group/cost lines add metadata that is relevant for an agent but slightly dilutes the pure definitional sentence. No wasted words otherwise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values needn't be described, and annotations cover safety. Still, for a 15-param tool with only 33% schema coverage, the description offers no pointer to the shared chart parameters (house system, zodiac, ayanamsa) or defaults, which an agent using this among 26 siblings would benefit from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, but the description itself does not explain any of the 15 parameters; the fields that carry descriptions (timezone, timezoneOffset, fields, precision, ayanamsa) have extensive schema docs, while required date/time/lat/long are self-evident. The description adds no parameter guidance, so it neither compensates for the gap nor leverages the docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb (find) and resource (Design date) plus a precise definition: 'the moment 88° of solar arc before birth'. That definition uniquely distinguishes it among the HD siblings (hologenetic, incarnation_cross, etc.). It stops short of naming a sibling to route against, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the concept's definition – an agent doing HD work knows to call this for the Design point. However, it gives no explicit when-to-use vs the sibling astroway_hd_human_design or hologenetic chart tools, and no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_dream_raveDream RaveCRead-onlyIdempotentInspect
Calculate the Dream Rave chart: sleep type, active gates in lower centers (Sacral, Solar Plexus, Root), and dream themes.
[Group: Human Design] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| centers | No | |
| channels | No | |
| weakPoints | No | |
| activeGates | No | |
| activePortals | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuinely useful non-annotation context — a 50-credit Tier 3 cost — but says nothing about prerequisites (e.g., that birth date/time/location are needed) or how the chart is computed from the inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the purpose front-loaded, followed by short bracketed metadata tags. Nothing is wasted, though the tags are slightly separated from the substantive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, but for a 15-parameter astrological calculation tool the description is very thin: no mention of required inputs, no routing against the large family of HD siblings, and no guidance on the sidereal/tropical or timezone options an agent must choose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds zero parameter information — no mention of date, time, latitude/longitude, ayanamsa, timezone, or the compact-mode 'fields'/'precision' options. With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('the Dream Rave chart'), then enumerates the outputs (sleep type, active gates in Sacral/Solar Plexus/Root, dream themes). This distinguishes it from other HD siblings like penta or incarnation cross by content, but it never names an alternative or explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no when-to-use guidance, no prerequisites, and no conditions that would steer an agent here rather than to astroway_hd_human_design or the other Human Design tools. The only bracketed metadata is group and cost, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_group_overlayHD Group OverlayARead-onlyIdempotentInspect
Calculate a combined HD group overlay chart for 2 or more people, showing collectively defined centers and channels.
[Group: Human Design] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| inputs | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| openCenters | No | |
| definedCenters | No | |
| definedChannels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is low. The description earns credit by disclosing billing behaviour the schema and annotations omit entirely: 100 credits at Tier 4, which matters for an agent deciding whether to call it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences followed by compact structured tags for group and cost. The purpose is front-loaded, nothing is repeated, and every element carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and cost plus participant minimum are covered. The remaining gap is routing: an agent cannot tell from this text when to pick the overlay over the compatibility or penta tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% and the schema itself already documents the tricky fields (timezone, timezoneOffset, houseSystem letters, fields, precision) in detail. The description adds only the participant-count constraint, restating minItems rather than explaining the array shape or per-person requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate a combined HD group overlay chart') plus its scope ('for 2 or more people') and output ('collectively defined centers and channels'). It implicitly separates itself from compatibility/penta siblings, but never names an alternative, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no mention of the closely related siblings (hd_human_design_compatibility, hd_penta, hd_circuitry) that an agent must choose between. The only eligibility hint is the implicit '2 or more people' from the schema's minItems.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_hologeneticHologenetic ProfileBRead-onlyIdempotentInspect
Calculate the Gene Keys hologenetic profile (Activation Sequence, Venus Sequence, Pearl Sequence) from HD gate activations.
[Group: Human Design] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| spheres | No | |
| pearlSequence | No | |
| venusSequence | No | |
| activationSequence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds the credit cost (50 credits, Tier 3) and group, which are useful operational facts, but says nothing about rate limits, auth, return shape, or dependency on a prior HD calculation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with purpose front-loaded, followed by useful bracketed metadata. No sentence is wasted, and the size is appropriate for a tool whose return values are covered by the output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, Tier 3 tool with many adjacent HD siblings, the description is minimal: it conveys what is computed and the cost but omits usage context, prerequisites, and parameter guidance. The output schema reduces the need to explain return values, but the definition is still thin for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents only 5 of 15 parameters (33% coverage), and the description adds no parameter-level meaning at all. Required parameters like date, time, latitude, and longitude are not mentioned in the description, so an agent must rely entirely on the schema; the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('Gene Keys hologenetic profile') and names the three sub-sequences, so the output is clear. It does not differentiate from the many sibling HD tools (e.g. astroway_hd_human_design) or say what makes this profile distinct, so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. The phrase 'from HD gate activations' hints at input dependency but does not tell an agent when to choose this over astroway_hd_human_design or astroway_hd_design_date.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_human_designHuman Design ChartBRead-onlyIdempotentInspect
Calculate a full Human Design BodyGraph chart: type, strategy, authority, profile, definition, incarnation cross, centers, channels, and gate activations. Centre identifiers are PascalCase with no separator and are stable: Head, Ajna, Throat, G, Heart, SolarPlexus, Spleen, Sacral, Root. channels[].centerA and centerB use the same nine. These identifiers are English and hav…
[Group: Human Design] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| cross | No | |
| input | No | |
| centers | No | |
| profile | No | |
| channels | No | |
| designJd | No | |
| strategy | No | |
| authority | No | |
| definition | No | |
| activations | No | |
| notSelfTheme | No | |
| personalityJd | No | |
| designActivations | No | |
| personalityActivations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds useful interface behavior by specifying stable PascalCase center identifiers and how channels[].centerA/centerB reference them, which helps an agent parse results consistently.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded with the tool's purpose and then moves to stable identifier details; the sentences appear to earn their place. It is slightly weighted toward output identifier explanation, but there is little obvious filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (15 parameters) and has an output schema plus rich annotations, so the description need not explain all return values. However, it omits usage guidance against numerous siblings and input-parameter semantics, leaving gaps for an agent selecting and invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description adds no meaning for the 15 input parameters. It discusses output center identifiers instead of required inputs like date, time, latitude, and longitude, so it fails to compensate for undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Calculate a full Human Design BodyGraph chart,' then enumerates outputs such as type, strategy, authority, profile, incarnation cross, centers, channels, and gate activations. This makes the tool's purpose clear, but it does not explicitly name or differentiate itself from specialty siblings like astroway_hd_incarnation_cross or astroway_hd_human_design_compatibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never states when to use this tool versus alternatives, nor does it provide prerequisites or exclusions. With many Human Design siblings available, this absence of routing guidance leaves the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_human_design_compatibilityHD CompatibilityARead-onlyIdempotentInspect
Calculate Human Design connection chart (compatibility) between two people: electromagnetic connections, compromise, dominance, and companionship channels.
[Group: Human Design] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chart1 | No | |
| chart2 | No | |
| dominance | No | |
| compromise | No | |
| connections | No | |
| companionship | No | |
| attractionScore | No | |
| electromagnetic | No | |
| combinedDefinition | No | |
| combinedDefinedCenters | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent and non-destructive behavior, and the description adds a materially useful operational fact the structured fields do not carry: this is a paid Tier 4 operation costing 100 credits. It still omits auth requirements and any note that both charts need accurate birth times, so it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense lines: the action, its two-person scope and the returned connection types come first, with group and cost tags trailing. No sentence is wasted and nothing is repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich nested schema plus an output schema, the agent has what it needs on inputs and returns, and the description supplies purpose and cost. It is only slightly short of complete because it gives no guidance on mismatched timezone conventions between the two charts or on the accuracy requirement for both birth times.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested chart objects carry unusually thorough field documentation (timezone/offset handling, rejected short forms, houseSystem letters), so the schema does the heavy lifting. The description adds no parameter-level meaning beyond the schema, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and resource (Human Design connection chart) with the two-person scope made explicit, plus the exact channel categories returned (electromagnetic, compromise, dominance, companionship). It implicitly separates itself from single-chart HD siblings by 'between two people', but never names an alternative, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The two-person scope implies when to use it, but there is no explicit when/when-not and no routing to similar multi-person siblings such as astroway_hd_group_overlay or astroway_hd_penta. An agent must infer the boundary from purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_human_design_transitsHD TransitsBRead-onlyIdempotentInspect
Calculate current Human Design transit activations. Optionally overlay on natal chart to show combined defined centers and channels.
[Group: Human Design] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Transit moment plus an optional natal date, time and offset to overlay the activations on. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| combinedCenters | No | |
| combinedChannels | No | |
| transitActivations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one piece of behavioral context not in annotations - the 50-credit Tier 3 cost - but says nothing about auth needs, rate limits, or what the overlay does to the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded, followed by the optional mode. The bracketed group/cost metadata is structured housekeeping rather than prose, so nothing is wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the input schema fully documents the birth-data, natal-overlay, fields and precision parameters. Purpose and cost are covered; only the usage/routing context is thin, which keeps it out of 5 territory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data object carries extensive field documentation (timezone semantics, houseSystem letter case, rejected short forms), so the schema does the heavy lifting. The description adds no parameter detail beyond mentioning that the natal overlay is optional, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate current Human Design transit activations') and names the optional natal overlay behavior, which is enough to separate it from the natal-chart sibling astroway_hd_human_design. It never names an alternative explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the overlay does but gives no when-to-use guidance, no prerequisites, and no routing against siblings such as astroway_mcp_ai_explain_transit or astroway_hd_group_overlay. The natal-overlay mode is described as a capability, not as a condition that selects this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_incarnation_crossIncarnation CrossCRead-onlyIdempotentInspect
Return the Incarnation Cross from birth data (or directly from gate numbers). Includes cross name, type, and theme description.
[Group: Human Design] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| type | No | |
| gates | No | |
| lines | No | |
| theme | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful non-schema context (50-credit Tier 3 cost, and the three fields returned), but says nothing about credit consumption on failure, required account state, or the accuracy constraints of the birth-data path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus compact metadata lines; the core purpose and return contents are front-loaded with no filler. The 'Includes cross name, type, and theme description' clause is mildly redundant given an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astronomical tool with extensive sidereal/house-system options, the description is too thin: it never addresses timezone/offset handling, ayanamsa selection, or the compact 'fields'/'precision' modes, and it leaves the gate-numbers alternative unsubstantiated. The output schema and annotations cover returns and safety, but the invocation side remains under-explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description should compensate, yet it explains none of them. Worse, the claim that the cross can be derived 'directly from gate numbers' has no counterpart in the schema, where date, time, latitude and longitude are all required — a misleading signal about how the tool can actually be invoked.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Return) and resource (Incarnation Cross), and clarifies the two input routes plus what the payload contains (name, type, theme). It does not name or distinguish itself from the many sibling HD tools (hologenetic, circuitry, penta), so an agent must infer the boundary from the domain term alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling Human Design tools an agent should choose instead for related outputs. The parenthetical '(or directly from gate numbers)' hints at an alternative input mode but is never tied to a condition or to any concrete parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_pentaPenta ChartBRead-onlyIdempotentInspect
Calculate the Penta (group) chart for 3–5 people: combined BodyGraph showing group dynamics and collective conditioning.
[Group: Human Design] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| inputs | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| role | No | |
| size | No | |
| channels | No | |
| definedCenters | No | |
| pentaAuthority | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety behavior is covered. The description's one genuine addition is the billing profile ('100 credits (Tier 4)'), which an agent cannot get from the annotations, but it says nothing about what the Penta computation requires or how it differs behaviorally from a single-chart call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence plus bracketed metadata lines; the purpose is front-loaded and nothing is padded. It is arguably under-specified rather than over-long, but as a structural matter it is tight and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the credit cost is disclosed. However, for a group-chart tool with a near-identical sibling, the description omits any statement of when this is the right choice over astroway_hd_group_overlay, which is the main contextual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% and the nested birth-data object is documented in detail in the schema itself (date/time patterns, timezone semantics, rejected short forms). The description contributes only the '3–5 people' cardinality, which the schema already encodes, so baseline 3 is right.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Penta (group) chart') plus a precise scope ('3–5 people') and the conceptual output ('combined BodyGraph showing group dynamics and collective conditioning'). It is clear on its own, but it never distinguishes itself from the close sibling astroway_hd_group_overlay, which an agent would plausibly confuse with this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to or away from alternatives. The only implied constraint, 3–5 people, is already enforced by the schema's minItems/maxItems, so the description adds no usage direction of its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_rave_new_yearsRave New YearsARead-onlyIdempotentInspect
Calculate Rave New Year dates (exact moment Sun enters Gate 41) for a range of years. Max range: 50 years.
[Group: Human Design] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endYear | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startYear | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| years | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's job is to add context — and it does, disclosing the 50-year range cap and the 10-credit Tier 1 cost, neither of which appears in structured fields. It stops short of describing what happens on an over-range request.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences: the operation first, the hard constraint second, with no filler. The bracketed group/cost metadata is compact and clearly segregated from the functional description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety semantics. With the operation, the event definition, the range limit, and the cost all stated, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are well documented in the schema, while the two required parameters (startYear/endYear) carry no schema description. The description partially compensates by framing them as a bounded year range with a 50-year maximum, but adds no type, format, or ordering detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate Rave New Year dates') and even defines the underlying astronomical event ('exact moment Sun enters Gate 41'), which is far more than the title conveys. It does not, however, explicitly distinguish itself from related siblings such as astroway_hd_dream_rave or astroway_hd_design_date.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description bounds usage with 'for a range of years' and an explicit 'Max range: 50 years' limit, so an agent knows when the tool cannot be applied. It names no alternatives and gives no when-not guidance relative to the other Human Design siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hd_sensitivityHD Time SensitivityARead-onlyIdempotentInspect
Analyze how sensitive the HD chart type/authority is to birth time changes. Returns windows where the chart is stable vs. in transition.
[Group: Human Design] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| confidence | No | |
| transitions | No | |
| stableWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely new context: it discloses what is actually returned (stability/transition windows) and the credit cost (50 credits, Tier 3), which helps an agent decide whether to spend the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences that state purpose then return value, plus compact group/cost metadata. No filler, though the group/cost bracket is boilerplate rather than tool-specific guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations cover the safety profile. However, for a 15-parameter tool with low schema coverage, the description leaves the agent without guidance on the required inputs or on the optional fields that matter for a sensitivity analysis.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only ~33% schema description coverage, the description is the place to compensate, but it says nothing about parameters. The phrase 'birth time changes' faintly signals that date/time matter, but the four required inputs (date, time, latitude, longitude) remain undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Analyze how sensitive the HD chart type/authority is to birth time changes') and explicitly states the output shape (stable vs. in-transition windows). No sibling among the HD tools covers time sensitivity, so an agent can distinguish it immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose (use it when you need to know whether a birth time is precise enough for the chart type/authority), but there is no explicit when-to-use, when-not-to-use, or reference to an alternative sibling. Nothing misleading, but nothing that routes the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helb_bonifications_maltreatmentsBonifications/MaltreatmentsBRead-onlyIdempotentInspect
Planet conditions per Valens: 9 categories.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_brennan_bonifications_maltreatments.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sect | No | |
| source | No | |
| doctrine | No | |
| conditions | No | |
| disclaimer | No | |
| perPlanetSummary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read-only, idempotent, non-destructive, closed-world call, so the safety profile is covered. The description adds genuinely new behavioral context the annotations cannot carry: it is a metered call at 10 credits (Tier 1), and it is an alias rather than a distinct operation. It does not discuss response shape, but an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded single-line purpose followed by compact bracketed metadata (group, cost, alias). Every line carries information and there is no filler; the alias parenthetical is slightly meta but saves an agent from double-invoking the canonical tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, the description need not describe return values, and the annotations cover safety. What is still missing for a specialized 15-parameter Hellenistic calculation is any indication of what the nine categories contain or what input precision the technique expects, leaving the agent reliant on the schema and outside knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes nothing about any parameter — no mention of date/time format, coordinates, timezone handling, ayanamsa, house system, or the `fields`/`precision` compact-mode options. The four required parameters are largely self-explanatory from their names and patterns, but the description does not compensate for the documented coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific technique (planetary bonification/maltreatment conditions per Valens) and states its scope (9 categories), and the alias line ties it explicitly to the canonical `astroway_hellenistic_brennan_bonifications_maltreatments` sibling. It is distinguishable from the surrounding Hellenistic/Brennan tools, though 'planet conditions' remains somewhat jargon-dependent for an agent unfamiliar with the doctrine.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance versus alternatives such as dignities, joys of planets, or the other Brennan-tradition tools. The '[Group: Hellenistic: Brennan tradition]' tag implies context, and the alias note tells the agent this tool is interchangeable with its canonical sibling, which is a partial routing signal rather than real usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helb_profections_detailProfections DetailBRead-onlyIdempotentInspect
Annual profection year-lord with full classical condition.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_brennan_profections_detail.)
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| ageYear | No | |
| doctrine | No | |
| yearLord | No | |
| disclaimer | No | |
| yearEndDate | No | |
| profectedSign | No | |
| yearStartDate | No | |
| monthlyProfections | No | |
| yearLordNatalContext | No | |
| profectedHouseFromAsc | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds two facts not present in structured data – the 10-credit Tier 1 cost and the tradition grouping – plus the depth hint 'full classical condition'. It says nothing about targeting a specific profection year or how the result is shaped, so with annotations carrying the safety burden a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The substantive line is front-loaded and short, with metadata tags on separate lines that do not interrupt reading. The cost and alias notes are compact and earn their place as routing aids. No filler prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description is not obliged to explain return values, and it identifies the calculation performed. However, it never connects targetAge to the profection year being computed – the key input for this tool – and gives no hint about the scope of 'full classical condition' output. Adequate but with a clear gap for an agent to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nested birth-data block, fields and precision params are already documented in the schema, including the timezone/offset and houseSystem caveats. The description adds no parameter-level meaning of its own, which is the expected baseline 3 when the schema does the heavy lifting. Notably targetAge, the one field that distinguishes this from a generic natal chart, is left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource – the annual profection year-lord with its full classical condition – which is a concrete astrological deliverable rather than a restatement of the title. It also discloses that it is an alias of astroway_hellenistic_brennan_profections_detail, helping the agent recognize the duplicate. It stops short of distinguishing this from sibling profection tools such as astroway_prognostics_profections, so differentiation is only partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the canonical astroway_hellenistic_brennan_profections_detail or the other profection/prefection tools. The group tag '[Hellenistic: Brennan tradition]' hints at the school but gives no selection criteria. The alias note implies interchangeability but never says to prefer one over the other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helb_triplicity_rulersTriplicity RulersCRead-onlyIdempotentInspect
Dorothean triplicity rulers (day/night/common).
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_brennan_triplicity_rulers.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sect | No | |
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds the tradition grouping and the 10-credit/Tier 1 cost, which is real behavioral context an agent can act on for budget decisions, but it discloses nothing about the computed output, determinism of results, or data requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short bracketed metadata lines plus a one-line purpose — tightly sized and front-loaded with no filler. It is terse rather than verbose, though the metadata lines consume most of the available space where substantive content could have gone.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with low schema description coverage, the description is far too thin: no input guidance, no when-to-use, no note on how the day/night/common variant is chosen (presumably from chart sect). An output schema exists, so return values need not be explained, but the rest of the burden is unmet.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only ~33% schema description coverage, the description is the only place left to explain inputs — and it says nothing about any of them. The four required fields (date, time, latitude, longitude) and the many optional chart modifiers (zodiacType, houseSystem, ayanamsa, fields, precision) are left entirely to the partial schema, which does not compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The line 'Dorothean triplicity rulers (day/night/common)' names a specific Hellenistic technique and its three sect variants, so an astrologically literate agent can tell it apart from siblings like hand_bounds or decanic_rulers. However, it is essentially a restatement of the title with no verb — it never says what the tool computes or returns (e.g. the triplicity lord per planet/sign), leaving purpose inferred from jargon rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this technique versus alternatives (e.g. almuten, bounds, sect strength) and no prerequisites. The only routing help is the parenthetical noting it is an alias of `astroway_hellenistic_brennan_triplicity_rulers`, which is useful for de-duplication but is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helb_zodiacal_releasing_fortuneZR from FortuneBRead-onlyIdempotentInspect
Zodiacal Releasing from Lot of Fortune: body/livelihood periods.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_brennan_zodiacal_releasing_fortune.)
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| summary | No | |
| doctrine | No | |
| disclaimer | No | |
| l1Sequence | No | |
| lotOfFortune | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior. The description adds genuinely useful context beyond that — the 10-credit cost tier and the Brennan-tradition grouping — but discloses nothing about the returned period structure or how the 80-year default horizon affects output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded lines with no filler; the technique and interpretive domain come first. Slightly under-specified rather than verbose, but nothing wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, complete annotation coverage, and fully-described parameters, the structured fields carry most of the burden. The remaining gap is routing guidance among the many close Hellenistic ZR siblings, which the description does not address.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the nested birth-data object, `fields`, and `precision` are all thoroughly documented in the schema itself. The description adds no parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific technique verb+resource: 'Zodiacal Releasing from Lot of Fortune' with the interpretive domain ('body/livelihood periods'). This distinguishes it reasonably from the sibling ZR-from-Spirit tools, though the distinction is implicit in 'Fortune' rather than stated. The alias note clarifies its relationship to the canonical tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. It does not tell the agent when to pick this over `..._zodiacal_releasing_spirit`, `..._zr_loosing_of_bond`, or `..._zr_peak_periods`, nor what question the Lot of Fortune periods answer versus the Spirit lot. The alias line explains naming, not usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helb_zodiacal_releasing_spiritZR from SpiritBRead-onlyIdempotentInspect
Zodiacal Releasing from Lot of Spirit: career/action periods.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_brennan_zodiacal_releasing_spirit.)
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| summary | No | |
| doctrine | No | |
| disclaimer | No | |
| l1Sequence | No | |
| lotOfSpirit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds genuinely useful operational context — the 10-credit Tier 1 cost and the canonical-vs-alias relationship — but says nothing about computation basis, period depth, or what the 'years' horizon affects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short front-loaded lines with no filler: what it computes first, then grouping, cost, and alias identity. The bracketed tag format is dense and scannable; nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations fully cover safety, and the input schema is richly self-documenting, so the description need not explain returns. What is missing is the disambiguation an agent needs among the clustered ZR siblings, which is the main residual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data object documents formats, timezone handling, rejected short forms and houseSystem letters in detail. The description adds no parameter meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific technique and resource ('Zodiacal Releasing from Lot of Spirit') plus the interpretive domain ('career/action periods'), and identifies itself as an alias for astroway_hellenistic_brennan_zodiacal_releasing_spirit. It does not, however, distinguish itself from the close sibling astroway_helb_zodiacal_releasing_fortune, leaving the Spirit-vs-Fortune choice implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'career/action periods' implies the topical context in which to reach for this tool, but there is no explicit when-to-use, when-not, or named alternative even though two near-identical siblings (zodiacal_releasing_fortune, zr_peak_periods) exist. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helb_zr_loosing_of_bondZR Loosing of BondBRead-onlyIdempotentInspect
Loosing of Bond detection within ZR sequence.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_brennan_zr_loosing_of_bond.)
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| source | No | |
| fromLot | No | |
| lotInfo | No | |
| doctrine | No | |
| disclaimer | No | |
| loosingOfBondEvents | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds useful operational context — the credit cost and tier — plus group/tradition provenance and the alias mapping, which helps routing. It does not describe what the detection output means, but that is largely covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short bracketed fragments, front-loaded with the purpose first followed by metadata. Minimal waste, though the bracketed tags read more like internal metadata than agent-facing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% parameter coverage, the description need not explain returns or inputs. It supplies cost, tradition group, and alias mapping, which is enough context to invoke correctly, though the astrological meaning of 'loosing of bond' is left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data schema is thoroughly documented, so the schema carries the full parameter burden. The description adds no parameter-level meaning beyond that; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and action: detecting the 'Loosing of Bond' within a ZR (Zodiacal Releasing) sequence. However, it doesn't distinguish itself from close siblings like astroway_hellenistic_brennan_zr_peak_periods or the ZR releasing tools beyond noting it is a renamed alias, and 'Loosing of Bond' is jargon an agent may not interpret.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, no routing to alternatives. The agent learns it concerns ZR sequences but nothing about when this tool should be selected over the sibling ZR peak-periods or zodiacal-releasing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helg_antiscia_hellenisticAntiscia (Hellenistic)BRead-onlyIdempotentInspect
Solstitial antiscia per Hellenistic conventions.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_greenbaum_antiscia_hellenistic.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No | |
| antiscionContacts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint/idempotentHint/destructiveHint already covering the safety profile, the description's useful addition is the cost disclosure (10 credits, Tier 1) and the group membership. It says nothing about what the computation actually produces or any input constraints beyond the schema, so it adds modest value over annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very compact and front-loaded: the core statement comes first, followed by clearly delimited bracket metadata tags. The alias parenthetical is worth its space for disambiguation. Nothing extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. Still, for a 15-parameter specialist tool with heavy sibling overlap and 33% schema coverage, the description does not give enough to guarantee correct invocation — chiefly which antiscia variant to pick and how the required inputs should be formed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the four required inputs (date, time, latitude, longitude) have no descriptions anywhere. The description supplies no parameter meaning at all, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource ('antiscia') qualified by 'solstitial' and 'Hellenistic conventions', which is more than a tautology of the title. It does not, however, distinguish itself from the neighboring astroway_aspects_antiscia or astroway_helg_contra_antiscia tools, so an agent still has to guess which antiscia variant applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The alias note ('Cursor-friendly alias for ...') is genuine routing guidance — it tells the agent which of two equivalent tools to prefer in a Cursor context. But there is no when-to-use/when-not guidance against the other antiscia siblings (aspects_antiscia, contra_antiscia), so usage remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helg_contra_antisciaContra-AntisciaCRead-onlyIdempotentInspect
Equinoctial contra-antiscia.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_greenbaum_contra_antiscia.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No | |
| contraAntiscionContacts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds two genuinely useful behavioral facts not in annotations: the tradition group (Hellenistic: Greenbaum) and the cost (10 credits, Tier 1). It adds nothing about computation inputs, failure modes, or rate limits, but with annotations carrying the safety burden a 3 is warranted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded, and the bracketed metadata lines are easy to scan. However, the brevity is under-specification rather than disciplined conciseness: there is no sentence that explains purpose, usage, or behavior, so the size reflects missing content rather than efficient writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and annotations cover safety. But for a 15-parameter chart computation with 33% schema coverage and multiple near-identical sibling tools (antiscia, contra-antiscia, aspects_antiscia), the description leaves the agent unable to tell what distinguishes this computation or how to supply the undocumented inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries an obligation to compensate for the undocumented parameters, and it supplies none. The schema does document a few key params (fields, ayanamsa, timezone, precision, timezoneOffset), but the required date/time/latitude/longitude and several others remain unexplained, and the description adds no syntax or format guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the title 'Contra-Antiscia' with an 'Equinoctial' qualifier. It names the astrological resource but gives no verb (compute/derive) and never explains what contra-antiscia are or what the tool returns, so it is near-tautological against the name/title. The alias note identifies equivalence with the long-named sibling but does not distinguish this tool from astroway_aspects_antiscia or astroway_helg_antiscia_hellenistic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. The only routing information is that this is a 'cursor-friendly alias' for astroway_hellenistic_greenbaum_contra_antiscia, which implies interchangeability but does not tell the agent when to prefer this over that sibling or over the antiscia variants. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helg_daimon_tyche_axisDaimon-Tyche AxisCRead-onlyIdempotentInspect
Spirit-Fortune axis as primary chart spine.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_greenbaum_daimon_tyche_axis.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| axis | No | |
| basis | No | |
| source | No | |
| spirit | No | |
| fortune | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely new context—Hellenistic Greenbaum tradition grouping and cost (10 credits, Tier 1)—which is useful for budgeting, but says nothing about prerequisites or output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is brief and front-loaded with the core statement, followed by compact bracketed metadata. It is efficient, though the alias line and tags consume space without aiding invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but a 15-parameter chart tool with 33% schema coverage and no usage guidance is under-described. Nothing tells the agent how the many optional parameters interact or what makes this result meaningful versus sibling Hellenistic tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description should compensate but contributes nothing about any parameter. Required date/time/latitude/longitude, sidereal options (ayanamsa, zodiacType), and houseSystem choices are left entirely to the schema, and many are undocumented even there.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Spirit-Fortune axis as primary chart spine" identifies the resource (the Daimon/Tyche axis, i.e. Spirit-Fortune) and implies a computation, but there is no verb and "as primary chart spine" is domain jargon an agent may not parse. It loosely matches the title/sibling name without clarifying what it computes or returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. The only routing-style content is the note that it is a cursor-friendly alias for `astroway_hellenistic_greenbaum_daimon_tyche_axis`, which tells the agent it is a duplicate rather than when to prefer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helg_lot_of_eros_detailLot of Eros DetailCRead-onlyIdempotentInspect
Eros calculation with conditions analysis.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_greenbaum_lot_of_eros_detail.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| eros | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| venusContact | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely useful operational context not in the annotations: the tradition group and the 10-credit Tier 1 cost, which affects call budgeting. However, it never describes what "conditions analysis" computes or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The prose is a single front-loaded sentence, and the group/cost/alias lines are structured metadata that scan quickly. It is not padded, though the extreme brevity borders on under-specification rather than true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a computationally complex tool with 15 parameters (4 required), three enums, and low schema coverage, the description is far too thin. It omits parameter usage, output shape, and any indication of what "conditions analysis" yields; the presence of an output schema excuses return-value detail but not the missing usage and parameter context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description must compensate and does not. It provides no explanation of the required date/time/latitude/longitude, nor of how the sidereal/ayanamsa or house-system options affect the Eros result, so it adds nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Eros calculation with conditions analysis" names a resource (the Lot of Eros) and adds a scope hint (conditions analysis), but it largely restates the title "Lot of Eros Detail." It does not say what a "Lot of Eros" is or how it differs from sibling Hellenistic lots such as daimon_tyche_axis or lots_of_seven, leaving the agent to infer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites beyond the required inputs, and no exclusions. The only routing help is the note that it is an alias for the longer-named Greenbaum tool, which tells the agent about the name relationship but not the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helg_quality_of_timeQuality of TimeCRead-onlyIdempotentInspect
Synchronistic quality of a moment.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_greenbaum_quality_of_time.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| qualityOfTime | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds nothing behavioral: no note on determinism, whether the same moment always yields the same reading, what the output contains, or what 'quality of time' actually returns. For a computation tool of this type that gap is significant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its few tokens on cost tier and group taxonomy while omitting the actual purpose. It is front-loaded with a vague phrase and then spends its budget on metadata rather than task-relevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, but the description should still convey what this Greenbaum technique computes and when it applies. It provides only a tag line plus billing/group info, leaving an agent unable to distinguish this from the many other Hellenistic quality/timing tools without opening schemas.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Four required parameters (date, time, latitude, longitude) are self-evident from names and schema constraints, and the schema documents timezone, ayanamsa, and precision in depth. However, 33% schema coverage means roughly two-thirds of the 15 params, including houseSystem, zodiacType, and cosmogram, carry no description anywhere; the description does nothing to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The one-line purpose, 'Synchronistic quality of a moment', is cryptic jargon that doesn't state what computation occurs or what the agent gets back. It restates the title rather than describing a verb+resource. The only concrete information is administrative (group/cost) and the alias relationship, which is structural metadata, not purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the canonical astroway_hellenistic_greenbaum_quality_of_time, nor versus siblings like the daimon/tyche, sect, or planetary-hours tools. The alias note tells the agent the tool exists but not when to prefer it, and no conditions, prerequisites, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helg_sphaera_barbaricaSphaera BarbaricaCRead-onlyIdempotentInspect
Constellations beyond the zodiac.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_greenbaum_sphaera_barbarica.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| angles | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description's one genuine addition is operational: 'Cost: 10 credits (Tier 1)', which is not in any structured field and matters for budgeting calls. It says nothing about output content, precision defaults, or why an ayanamsa/houseSystem would matter here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short with no filler, and the metadata lines (group, cost, alias) are scannable. But the brevity is largely under-specification rather than efficiency: the lead line is a noun fragment and no sentence actually describes a callable operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with only 33% schema description coverage, the definition omits what the result contains (beyond the existing output schema), how the required moment inputs should be supplied, and how this technique relates to its many Hellenistic siblings. Group, cost, and the alias are present, but the core question of what calling this produces is left unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers only 33% of 15 parameters, and the description adds zero parameter meaning. Undocumented fields such as `name`, `city`, and `cosmogram` remain ambiguous, and the description does not clarify that date/time/latitude/longitude are mandatory birth-moment inputs or how zodiacType/ayanamsa interact with a sidereal constellation technique. With low coverage, the description is expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment 'Constellations beyond the zodiac' conveys the domain (extra-zodiacal constellations in the Greenbaum Sphaera Barbarica tradition) but names no verb, no output, and no computation, so an agent cannot tell what it actually returns. It does explicitly identify itself as an alias of `astroway_hellenistic_greenbaum_sphaera_barbarica`, which resolves duplication against that one sibling, but nothing distinguishes it from the other Hellenistic Greenbaum tools aside from the group tag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisites, and no comparison to related Hellenistic tools (zodiacal_decans, temple_doctrine, dodekatemoria). The only routing hint is the alias note, which tells the agent it is interchangeable with the canonical Greenbaum endpoint rather than when this technique is the right one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helg_temple_doctrineTemple DoctrineCRead-onlyIdempotentInspect
Temple-house assignments per Greenbaum.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_greenbaum_temple_doctrine.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| temples | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and a closed-world operation, so the safety profile is fully covered. The description adds genuinely new context in the pricing line (10 credits, Tier 1) and the group tag, but says nothing about computation prerequisites or what 'assignments' produce.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, front-loaded, and every element (substance line, group, cost, alias) is a distinct fact with no filler. It is efficient, though the efficiency partly reflects that little substantive information was included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrological computation tool, the description omits what the doctrine output contains, how the required time/place inputs drive the result, and when the tool applies. An output schema does exist, which excuses not restating return values, but the input and selection guidance remain too thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 15 parameters with only 33% description coverage, yet the description mentions no parameter at all. The required date/time/latitude/longitude contract and the sidereal options (ayanamsa, zodiacType) go undiscussed, leaving the description unable to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (temple-house assignments) and attributes it to the Greenbaum tradition, which helps distinguish it from the Brennan/Schmidt/Hand Hellenistic siblings. However, 'temple-house assignments' is never explained, so an agent that lacks domain knowledge cannot tell what is actually computed or returned. It is a labeled purpose rather than a described one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives. The only routing information is the note that it is an alias for astroway_hellenistic_greenbaum_temple_doctrine, which tells the agent the two are equivalent but not which one to pick or in what situation the doctrine applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_helg_zodiacal_decansZodiacal DecansCRead-onlyIdempotentInspect
Zodiacal decans with attributions.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_greenbaum_zodiacal_decans.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful non-annotation context – the 10-credit Tier 1 cost and the tradition grouping – but says nothing about what is computed or how the result is scoped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, with no filler prose; the bracket metadata and alias note are compact. It errs on the side of under-specification rather than verbosity, but structurally it is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart tool with an output schema and strong annotations, the description is far too thin: it omits what the decans/attributions actually are and gives no parameter guidance. The output schema excuses it from explaining return values, but the input-side complexity is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description must compensate for undocumented fields (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId, date, time, lat/long). It adds no parameter meaning whatsoever, leaving half the surface unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase "Zodiacal decans with attributions" largely restates the tool name and title, though "with attributions" hints at returned content and the [Group: Hellenistic: Greenbaum tradition] tag situates it. It never states the operation (is it computing, listing, or looking up decans?) or distinguishes itself from the many sibling decan/hellenistic tools. Adequate but vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given: no conditions for choosing this tool, no exclusions, and no reference to alternatives. The only pointer is the note that it is a cursor-friendly alias for astroway_hellenistic_greenbaum_zodiacal_decans, which clarifies naming rather than usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_brennan_bonifications_maltreatmentsBonifications/MaltreatmentsCRead-onlyIdempotentInspect
Planet conditions per Valens: 9 categories.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sect | No | |
| source | No | |
| doctrine | No | |
| conditions | No | |
| disclaimer | No | |
| perPlanetSummary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds only the credit cost and the count of output categories, disclosing nothing about what the 9 categories contain, how conditions are judged, or what triggers a bonification versus a maltreatment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the substantive clause before the bracketed metadata. But the brevity is under-specification rather than economy: for a 15-parameter tool it omits information an agent genuinely needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But with 15 parameters, 33% schema coverage, no usage guidance, and no behavioral detail, the definition is far too thin for a tool of this complexity, especially with a same-named sibling in another prefix group.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a heavy burden — yet it explains none of them. It does not clarify required birth data, the compact 'fields' mode, ayanamsa/zodiac selection, or the timezone vs timezoneOffset interaction, leaving roughly ten parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific domain output ('Planet conditions per Valens: 9 categories'), which tells an agent this is a Hellenistic bonification/maltreatment analysis rather than a chart or aspect tool. However, it lacks a clear verb and never distinguishes itself from the near-identical sibling astroway_helb_bonifications_maltreatments, so an agent must rely on the name alone to choose between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of when to prefer this over the parallel helb_* or greenbaum variants. The '[Group: Hellenistic: Brennan tradition]' tag gives faint tradition context but stops short of routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_brennan_joys_of_planetsJoys of PlanetsCRead-onlyIdempotentInspect
Classical planetary joys (Sun-Leo-9th, etc.).
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| evaluations | No | |
| planetsInJoy | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful non-annotation context — the 10-credit Tier 1 cost and the tradition grouping — but says nothing about what the computation returns or any constraints on the input chart.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded lines with structured bracketed metadata; nothing is padded. It is efficient, though the brevity edges toward under-specification rather than optimal density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover safety. However, for a 15-parameter chart-computing tool the description should at minimum clarify that it consumes birth data and what distinguishes its output from the sibling Brennan/Hellenistic tools — that gap is unfilled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes zero parameter information. The four required inputs and the numerous optional chart/formatting flags (zodiacType, houseSystem, cosmogram, name, city) are left entirely to the schema, which documents only a handful of them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific concept ('Classical planetary joys') and gives a concrete example mapping ('Sun-Leo-9th'), but it never states what the tool actually does — return a static reference table or compute the joys for the supplied birth data. The required chart parameters (date, time, latitude, longitude) sit in tension with the table-like example, leaving the action ambiguous. It also does not distinguish itself from the many sibling hellenistic_brennan tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. The '[Group: Hellenistic: Brennan tradition]' tag hints at a family of related tools but gives no condition for choosing this one over, say, triplicity_rulers or lots_15.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_brennan_lots_1515 Hermetic LotsCRead-onlyIdempotentInspect
All 15 Hermetic Lots per Brennan §11.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lots | No | |
| sect | No | |
| count | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description adds the credit cost (10 credits, Tier 1), which is genuinely useful behavioral context an agent cannot get from annotations, but it says nothing about what the 15 lots contain or how results are shaped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with zero filler; the substantive claim is front-loaded. It is arguably under-specified rather than verbose, but nothing in the text is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter computation tool with only 33% schema coverage, the description should at minimum say what input it needs (birth date/time/place) and what the 15 lots represent. With an output schema present it need not describe return values, but the input and conceptual gaps leave an agent under-equipped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes nothing about parameters. Fields like city, name, cosmogram, zodiacType, houseSystem and ayanamsaId have neither schema descriptions nor description-level explanation, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific deliverable — 'All 15 Hermetic Lots per Brennan §11' — and the group tag situates it in the Brennan tradition, distinguishing it at the family level from the Greenbaum/Hand lot variants in the sibling list. It lacks a verb (compute/derive) and never directly names a competing sibling, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives such as astroway_hellenistic_hand_lots_of_seven or astroway_aspects_arabic_parts. The only auxiliary text is credit cost and group membership, which do not help an agent choose this tool over a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_brennan_profections_detailProfections DetailBRead-onlyIdempotentInspect
Annual profection year-lord with full classical condition.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| ageYear | No | |
| doctrine | No | |
| yearLord | No | |
| disclaimer | No | |
| yearEndDate | No | |
| profectedSign | No | |
| yearStartDate | No | |
| monthlyProfections | No | |
| yearLordNatalContext | No | |
| profectedHouseFromAsc | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered by structured data. The description contributes non-annotation operational context in the form of the credit cost ('10 credits, Tier 1'), but says nothing about the targetAge semantics, computation behaviour, or what 'full classical condition' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence plus two bracketed metadata tags — no filler, nothing repeated from the schema. It is efficient, though arguably at the cost of the guidance an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the input schema is exhaustively documented, which lowers the bar. What remains missing is the routing context (which profection tool to use when) and any note on what targetAge drives, which for a niche Hellenistic technique would meaningfully help an agent call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a very detailed body schema (formats, rejected short forms, timezone handling, house-system letters), so the schema carries the burden. The description adds no parameter meaning of its own; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The one-line description names a specific technique and output ('Annual profection year-lord with full classical condition'), which is clearer than a bare tautology. It does not, however, distinguish itself from near-identical siblings such as astroway_helb_profections_detail, astroway_prognostics_profections or astroway_hellenistic_hand_perfections, so an agent cannot tell which profection variant to pick from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. The [Group: Hellenistic: Brennan tradition] tag is a taxonomy label, not a routing instruction, and it is the only thing helping the agent choose among the several sibling profection tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_brennan_time_lord_stackTime-Lord StackBRead-onlyIdempotentInspect
Combined stack of profection + ZR + decennials for a date.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| stack | No | |
| source | No | |
| ageYear | No | |
| doctrine | No | |
| yearStart | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the credit cost (10, Tier 1) and tradition grouping, but says nothing about what 'combined' means operationally — whether the three systems are aligned into one timeline or returned separately, or whether targetAge drives the stack.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with the core purpose front-loaded and no filler; the bracket tags are compact metadata. It is arguably under-specified rather than padded, but every sentence present earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. Still, for a niche technique-stacking tool the description never explains what the stack contains or how the three lord systems combine, leaving an agent to guess at the value of the combined call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nested birth-data object, date/time/lat/lon requirements, ayanamsa, timezone handling, and the fields/precision compact-mode switches are all already documented in the schema. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific composite resource — a combined time-lord stack of profection, ZR and decennials for a date — which is more specific than most siblings such as astroway_prognostics_profections or astroway_hellenistic_hand_decennials. It does not, however, clarify how this differs from calling those individual tools, and 'ZR' is left unexpanded for non-specialists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this combined stack versus the standalone profection, zodiacal-releasing or decennial siblings in the same family. The only scoping hint is the '[Group: Hellenistic: Brennan tradition]' tag, which is categorization rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_brennan_triplicity_rulersTriplicity RulersCRead-onlyIdempotentInspect
Dorothean triplicity rulers (day/night/common).
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sect | No | |
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds a small factual note that three rule sets (day/night/common) are produced, but discloses nothing about how sect is determined, what body/chart is used, or output shape. With annotations doing the heavy lifting, this is a modest 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded: the technique is stated in the first phrase and metadata is bracketed separately. It earns its place without padding, though brevity here costs it elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter natal-chart computation with an output schema, the description is far too thin. It omits inputs, sect logic, and output contents. The output schema relieves it of explaining return values, but the usage-relevant context for a chart-based tool is essentially absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not. It says nothing about date, time, latitude, longitude, timezone, houseSystem, or the compact-mode fields/precision parameters. The one substantive behavioral element it could clarify (day vs night derived from the timestamp/location) is left entirely implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the astrological technique (Dorothean triplicity rulers) with day/night/common variants, so the resource is identifiable. But it never says what the tool does with birth data (compute rulers for a chart), and it does not distinguish itself from close siblings like astroway_helb_triplicity_rulers or the Hellenistic dignity/rulership tools. The name carries most of the disambiguation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. It doesn't say this returns the triplicity sect rulers for a natal chart, nor when to prefer it over astroway_dignities_essential_dignities or the Schmidt/Hand Hellenistic siblings. The only other text is group/cost metadata, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_brennan_zodiacal_releasing_fortuneZR from FortuneBRead-onlyIdempotentInspect
Zodiacal Releasing from Lot of Fortune: body/livelihood periods.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| summary | No | |
| doctrine | No | |
| disclaimer | No | |
| l1Sequence | No | |
| lotOfFortune | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds the billing tier (10 credits) and tradition grouping, which is genuinely useful, but says nothing about how the periods are computed or what the `years` window governs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three terse lines with the technique and scope front-loaded; no filler. The brevity is efficient rather than padded, though it leans on metadata brackets for the rest.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations, a rich input schema, and an output schema cover most of the burden, so the description needn't explain return values. Still, for a specialist Hellenistic timing technique it offers no interpretation context, no period semantics, and no sibling routing, leaving the agent with minimal grounding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested body object carries extensive documentation (date/time formats, timezone handling, rejected short forms, house-system letters). The description adds nothing parameter-specific, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific technique (Zodiacal Releasing from the Lot of Fortune) and its domain (body/livelihood periods), which semantically distinguishes it from the sibling astroway_hellenistic_brennan_zodiacal_releasing_spirit. It stops short of explicitly contrasting the two, but an agent can tell what this computes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. With a Spirit-variant sibling and ZR peak-period/loosing-of-bond siblings in the same family, the agent is left to infer routing from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_brennan_zodiacal_releasing_spiritZR from SpiritBRead-onlyIdempotentInspect
Zodiacal Releasing from Lot of Spirit: career/action periods.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| summary | No | |
| doctrine | No | |
| disclaimer | No | |
| l1Sequence | No | |
| lotOfSpirit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful non-schema context - the cost (10 credits, Tier 1) and the Brennan-tradition grouping - but says nothing about what the computation consumes or produces beyond what the schema and output schema carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded lines with no filler; the purpose leads and the tradition/cost tags are compact metadata. Slightly terse in a way that leaves gaps, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and full annotation coverage, the description need not explain return values, and it correctly signals technique and cost. However, for a technical Hellenistic calculation it omits any indication of when the technique is appropriate or how it relates to the Fortune-based sibling, leaving a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so body/fields/precision are already fully documented in the schema, including the detailed birth-data and compact-mode notes. The description adds no parameter-level meaning, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific technique (Zodiacal Releasing from the Lot of Spirit) and the domain it addresses (career/action periods), which meaningfully distinguishes it from the sibling zodiacal_releasing_fortune variant. It stops short of explicitly naming that sibling or stating the Spirit-vs-Fortune contrast outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives are named despite several closely related siblings (zodiacal_releasing_fortune, zr_peak_periods, zr_loosing_of_bond). The agent is left to infer selection purely from the technique name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_brennan_zr_loosing_of_bondZR Loosing of BondCRead-onlyIdempotentInspect
Loosing of Bond detection within ZR sequence.
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| source | No | |
| fromLot | No | |
| lotInfo | No | |
| doctrine | No | |
| disclaimer | No | |
| loosingOfBondEvents | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only the tradition grouping and a credit cost (10 credits, Tier 1), which is genuinely useful non-schema information, but says nothing about the shape or scope of the detection result. With annotations carrying the behavioral burden, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-line purpose is front-loaded before the metadata tags, and there is no filler. It is arguably too terse rather than too long, but nothing present is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the input schema is exhaustive. The remaining gap is conceptual and scoping: the description never explains what a 'loosing of bond' is or whether the result covers the Fortune, the Spirit, or both ZR sequences, which is the one thing an agent cannot recover from the structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the body schema already documents date/time/coordinates formats, timezone handling, ayanamsa and houseSystem letters in detail. The description adds nothing about the parameters, so the baseline 3 for schema-does-the-work applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific technical operation ('Loosing of Bond detection') on a specific resource ('ZR sequence'), which is more than a tautology, but 'ZR' is never expanded and the concept is opaque to an agent that does not already know Hellenistic zodiacal releasing. It also does not distinguish this from the closely named siblings astroway_hellenistic_brennan_zodiacal_releasing_fortune/spirit or astroway_hellenistic_brennan_zr_peak_periods.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the other ZR tools, no prerequisites, and no exclusions. The phrase 'within ZR sequence' only implies that a ZR context exists; it does not tell the agent which sibling produces that context or whether this tool should be called first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_brennan_zr_peak_periodsZR Peak PeriodsCRead-onlyIdempotentInspect
Peak periods in ZR (angular signs from Lot).
[Group: Hellenistic: Brennan tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| source | No | |
| fromLot | No | |
| doctrine | No | |
| disclaimer | No | |
| peakPeriods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds only taxonomy ('Hellenistic: Brennan tradition') and cost (10 credits, Tier 1); it says nothing about how the periods are computed, the default 80-year span, or what the caller receives beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the single substantive sentence, and the bracketed tags carry routing and billing information rather than filler. It is efficient, though the sparseness reflects missing content rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema handles return values and the annotations handle safety, so the description is not obligated to cover those. What remains missing is domain orientation: an agent cannot tell from this text how peak periods differ from the other ZR/zodiacal-releasing siblings or when to prefer it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data schema is unusually well documented (timezone/offset rules, houseSystem letters, ayanamsa), plus an output schema exists. The description contributes nothing about body/fields/precision, so the baseline 3 for schema-carried semantics is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific output (peak periods) and a domain (ZR, glossed as 'angular signs from Lot'), which is more than a restatement of the title. However, 'ZR' is never expanded to Zodiacal Releasing, so an agent must infer the link to siblings like zodiacal_releasing_fortune/spirit, and it does not say what a 'peak period' actually contains. Purpose is implied rather than stated clearly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no routing to the many related Hellenistic/Brennan tools (zr_loosing_of_bond, zodiacal_releasing_fortune, zodiacal_releasing_spirit, time_lord_stack). The only metadata is a group tag and a cost tag, neither of which tells the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_greenbaum_antiscia_hellenisticAntiscia (Hellenistic)CRead-onlyIdempotentInspect
Solstitial antiscia per Hellenistic conventions.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No | |
| antiscionContacts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful non-schema context — a 10-credit Tier 1 cost and the Greenbaum tradition grouping — which annotations do not carry. It still says nothing about determinism of the calculation, caching, or what the antiscia are computed relative to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core definition is front-loaded in the first line, and the bracketed group/cost metadata is compact and easy to scan. Every element present earns its place, though the overall length is arguably too thin for a 15-parameter calculation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values need not be explained, but for a complex 15-parameter astronomical calculation with 33% parameter coverage the description is far too sparse. It omits what is being computed, for which chart, how it relates to sibling antiscia tools, and any use context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, well below the 50% threshold, so the description is expected to compensate and does not. With 15 parameters (date, time, latitude, longitude, city, name, cosmogram, zodiacType, houseSystem, ayanamsaId, etc.) and no parameter guidance whatsoever, half-documented fields like zodiacType and houseSystem remain opaque from both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Solstitial antiscia') qualified by a tradition ('Hellenistic conventions'), which is more than a tautology. However, it names no verb (compute/return) and offers no differentiation from the many antiscia siblings present, such as astroway_aspects_antiscia, astroway_helg_antiscia_hellenistic, and astroway_hellenistic_greenbaum_contra_antiscia. An agent cannot tell from the text alone how this differs from the near-identical helg variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when to prefer an alternative, or what prerequisites exist. The 'Greenbaum tradition' group tag hints at a school but does not translate into a selection rule. An agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_greenbaum_contra_antisciaContra-AntisciaCRead-onlyIdempotentInspect
Equinoctial contra-antiscia.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No | |
| contraAntiscionContacts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds no behavioral context at all — no output shape, no computation notes — beyond the billing line 'Cost: 10 credits (Tier 1)', which is the only non-structural information present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the brevity is under-specification rather than efficiency: the single content sentence conveys no operational information and the remaining lines are metadata tags. Nothing here earns credit as a useful, compact description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but for a 15-parameter chart computation the description omits what is being computed, what the sidereal/house-system options mean for this technique, and how it differs from the many sibling antiscia tools. It is not sufficient for correct invocation in a dense tool namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description needed to compensate and instead contributes zero parameter information. Several parameters (city, name, cosmogram, zodiacType, houseSystem) are undocumented in both places, so an agent must infer required inputs (date, time, latitude, longitude) purely from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool title: 'Equinoctial contra-antiscia' names the technique but supplies no verb or output statement, so an agent cannot tell what is produced (contacts? a table of reflections? per-planet pairings?). It does not distinguish itself from close siblings like astroway_helg_contra_antiscia, astroway_hellenistic_greenbaum_antiscia_hellenistic, or astroway_aspects_antiscia.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no named alternative, even though several near-duplicate contra-antiscia/antiscia tools exist in the sibling list. The '[Group: Hellenistic: Greenbaum tradition]' tag gives weak tradition context but nothing actionable for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_greenbaum_daimon_tyche_axisDaimon-Tyche AxisCRead-onlyIdempotentInspect
Spirit-Fortune axis as primary chart spine.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| axis | No | |
| basis | No | |
| source | No | |
| spirit | No | |
| fortune | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description's genuine contribution is the non-annotated billing context ('10 credits, Tier 1'), which is real added value, but it omits what inputs are mandatory and what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with no filler, so nothing is wasted. However the brevity is under-specification rather than efficiency, since two lines cannot carry the burden of a 15-parameter chart calculation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 4-required-parameter chart tool with an output schema and a near-identical sibling, this definition leaves the agent without the information needed to invoke it correctly. Credit cost is disclosed, but input expectations and sibling selection are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 15 parameters with only ~33% description coverage, so the description carries a heavy burden to compensate. It says nothing about the required date/time/latitude/longitude inputs, the timezone vs timezoneOffset precedence, the 'fields'/'precision' compact mode, or any enum meaning. Zero parameter value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the artifact produced (the Spirit-Fortune / Daimon-Tyche axis) and frames it as a 'primary chart spine', which is more concrete than the bare title. But there is no verb (compute/return) and no differentiation from the near-duplicate sibling astroway_helg_daimon_tyche_axis, which appears to be the same technique in a sibling group. An agent can guess the topic but not the action or how it beats the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, what conditions select it, or which alternatives exist. Given the presence of an almost identical helg_ sibling, guidance on when to prefer this variant would be especially valuable, and none is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_greenbaum_dodekatemoriaDodekatemoriaCRead-onlyIdempotentInspect
Dodecatemoria sub-divisions of zodiac.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description does add genuinely useful behavioral context the annotations cannot convey: the tradition grouping (Hellenistic: Greenbaum) and the cost (10 credits, Tier 1). It says nothing about what the computation requires or returns, but an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entry is short and front-loads the technique name, and the group/cost tags carry real routing value. However, the brevity is under-specification rather than efficiency for a 15-parameter tool, leaving the definition thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a fairly complex chart-computation tool, the description omits what dodekatemoria are, what input chart is expected, how it relates to the duodecima/decans siblings, and any cost or latency expectations beyond the credit tag. An agent cannot confidently select it over the many neighboring Hellenistic tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, several fields (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId, latitude, longitude) are undocumented anywhere. The description adds no parameter meaning whatsoever, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Dodecatemoria sub-divisions of zodiac' essentially restates the title with a thin gloss and never states what the tool does (compute and return dodekatemoria placements for a chart). It also fails to differentiate from the near-duplicate sibling astroway_hellenistic_greenbaum_duodecima, which names the same 12th-part technique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite statement (e.g. that a birth date/time/place drives the computation), and no pointer to alternatives such as the duodecima or zodiacal_decans tools. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_greenbaum_duodecimaDuodecimaCRead-onlyIdempotentInspect
Duodecima: 2.5° micro-sign per planet.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds genuinely useful non-schema context: the billing cost (10 credits, Tier 1) and the tradition group, but says nothing about return shape or any computational caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, front-loaded with the defining phrase, and the bracketed metadata lines are easy to scan. It is arguably too sparse for a 15-parameter tool, but as raw conciseness and structure it is efficient with no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but with 15 parameters, three enums, and only 33% schema description coverage, the definition leaves the agent without enough context to invoke it confidently or to tell it apart from its dodekatemoria sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the schema does not carry the load and the description offers no parameter meaning at all. Nothing is said about how date/time/latitude/longitude interact, nor about the ayanamsa/zodiacType/houseSystem options that materially change output, leaving a significant compensation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the technique ('2.5° micro-sign per planet') and its tradition group, which gives a rough sense of what the tool computes. However it uses a cryptic technical label with no verb/resource framing (e.g. 'computes the duodecima placements for a chart'), and it does not distinguish itself from the near-identical sibling astroway_hellenistic_greenbaum_dodekatemoria, which uses the same 2.5° twelfth-part division.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites it has, or how it relates to alternative Hellenistic division tools. The 'Group' and 'Cost' tags are metadata, not usage direction, so an agent must infer the trigger condition from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_greenbaum_lot_of_eros_detailLot of Eros DetailCRead-onlyIdempotentInspect
Eros calculation with conditions analysis.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| eros | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| venusContact | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description does add genuinely useful behavior not in annotations - the 10-credit Tier 1 cost - but says nothing about what the 'conditions analysis' returns or any computation caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with the purpose front-loaded and no filler prose. The bracketed group/cost tags are structural boilerplate, but the cost tag carries real information, so the brevity is defensible even though it is brevity by omission rather than precision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart computation, the description omits the required date/time/latitude/longitude inputs, offers no hint of the conditions-analysis output, and fails to disambiguate from its helg-prefixed twin. An existing output schema covers return-value explanation, but the remaining gaps are too large for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the schema leaves most inputs undocumented (e.g. city, name, cosmogram, zodiacType, houseSystem have no descriptions). The description adds nothing about any parameter, failing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the tool computes the Lot of Eros plus a 'conditions analysis,' which is more than the bare title but still vague about what those conditions are and what the output represents. It gives no differentiation from the near-identical sibling astroway_helg_lot_of_eros_detail, so an agent cannot confidently choose between the two from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative, despite a duplicate 'lot_of_eros_detail' tool existing under the helg prefix. The only context offered is a tradition group tag, which does not tell the agent when this tool is the right pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_greenbaum_quality_of_timeQuality of TimeCRead-onlyIdempotentInspect
Synchronistic quality of a moment.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| qualityOfTime | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds nothing beyond that: no explanation of what the synchronistic judgment contains, no auth or credit-consumption caveats beyond the tier tag, and no note about determinism given the time/location inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with a single opening sentence plus metadata tags, so there is no padding. However the brevity here reflects under-specification rather than efficiency for a 15-parameter technique-specific tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but the description still omits what the Hellenistic Greenbaum 'quality of time' judgment actually produces and how it differs from the helg variant. For a domain-specific, credit-costing tool with low parameter coverage, this is not complete enough for reliable selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters at only 33% schema description coverage, the description carries a real burden to explain inputs, and it supplies none. Required date/time/latitude/longitude and the many optional toggles (houseSystem, zodiacType, cosmogram, ayanamsaId) are left entirely to the schema, and the ayanamsa/ayanamsaId duplication is unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Synchronistic quality of a moment' essentially restates the title 'Quality of Time' without adding a verb or naming what is actually computed (planetary condition, sect, Moon phase, etc.). It also fails to distinguish the tool from the near-identical sibling astroway_helg_quality_of_time, which is presumably the same technique under a different tradition prefix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no comparison to the helg_quality_of_time sibling. The only contextual signal is the bracketed group/cost metadata, which hints at tradition and invocation cost but gives no actionable selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_greenbaum_sphaera_barbaricaSphaera BarbaricaDRead-onlyIdempotentInspect
Constellations beyond the zodiac.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| angles | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds only the credit cost (10 credits, Tier 1) and tradition grouping, which is mildly useful but says nothing about what the calculation produces or any constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity reflects under-specification rather than economy: two fragments of metadata and no front-loaded statement of purpose. No sentence explains the tool's operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart calculation with four required inputs, the description leaves the agent with no idea what is computed, what the output contains (an output schema exists but its meaning is never framed), or when to reach for this tool rather than its many Hellenistic siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters, and the description contributes zero parameter meaning – it never mentions date, time, location, ayanamsa, house system, or the compact-mode fields. With low coverage, the description is expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun fragment, 'Constellations beyond the zodiac,' with no verb and no indication of what the tool actually computes or returns. It restates the domain of the title rather than stating an action, so an agent cannot distinguish it from siblings like astroway_helg_sphaera_barbarica or astroway_aspects_fixed_stars_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative tool. The only additional text is group/cost metadata, which does not help select this tool over the near-identical astroway_helg_sphaera_barbarica sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_greenbaum_temple_doctrineTemple DoctrineCRead-onlyIdempotentInspect
Temple-house assignments per Greenbaum.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| temples | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. The description adds only cost/group metadata (10 credits, Tier 1) and nothing about what the computation requires or how results should be read. With annotations carrying the safety burden, this is a thin contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two lines are tightly worded and the group/cost metadata is genuinely useful front-loaded context, so there is no padding. However, 'appropriately sized' fails badly for a 15-parameter tool in an obscure domain — the brevity reflects under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. But given a 15-parameter, four-required tool in a specialized Hellenistic technique, the description leaves the purpose opaque and the inputs unexplained, so an agent cannot confidently select or invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 15 parameters at only 33% description coverage, and the four required ones (date, time, latitude, longitude) carry no schema descriptions at all. The description supplies zero parameter meaning, adding nothing about formats, defaults, or which options matter for a temple-doctrine computation. With low coverage, the description was required to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun fragment that restates the title 'Temple Doctrine' as 'Temple-house assignments per Greenbaum' with no verb and no indication of what the tool actually computes or returns. It does not distinguish this tool from the near-identical sibling astroway_helg_temple_doctrine, nor from the other Greenbaum-tradition tools. This is closer to a tautological restatement of the name than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_helg_temple_doctrine or the other Hellenistic Greenbaum tools. The [Group: ...] tag hints at a family but never says when this member is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_greenbaum_zodiacal_decansZodiacal DecansCRead-onlyIdempotentInspect
Zodiacal decans with attributions.
[Group: Hellenistic: Greenbaum tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context not in the annotations - the 10-credit Tier 1 cost and the Greenbaum group membership - but says nothing about output shape or what 'attributions' contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the only substantive clause, but the two bracketed metadata lines are boilerplate rather than descriptive content. Terseness here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 4-required astronomical computation tool, the description is far too thin; it omits usage context, parameter semantics, and any tradition differentiation. An output schema exists, so return values need not be spelled out, but that does not offset the missing input and routing guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description must compensate for undocumented fields, and it supplies nothing about date/time/latitude/longitude or any optional parameter. It adds no semantics beyond the enum and inline descriptions the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (zodiacal decans) and adds a qualifier ('with attributions'), so it is slightly more than a bare restatement of the title. However, it gives no verb or computation detail and does nothing to distinguish this Greenbaum-tradition tool from close siblings such as astroway_helg_zodiacal_decans or astroway_hellenistic_hand_decanic_rulers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-selection guidance at all. In a catalog with several decan/decanic-ruler endpoints, the agent is left to guess which tradition-specific tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_hand_boundsEgyptian BoundsCRead-onlyIdempotentInspect
Ptolemaic Egyptian bounds rulers.
[Group: Hellenistic: Hand tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No | |
| egyptianBoundsTable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only the billing attribute (10 credits, Tier 1), which is a genuine non-annotation behavior but is thin; it says nothing about what the computation returns, whether it is per-sign or per-planet, or any limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, zero filler, with the subject line front-loaded ahead of the metadata tags. It is efficiently sized; the sparseness is a completeness problem rather than a verbosity problem.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but for a specialized Hellenistic technique reachable among hundreds of sibling tools the definition supplies no domain framing, no usage context, and no distinction across the brennan/greenbaum/hand variants of the same material. An agent has almost nothing to route or disambiguate with.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is expected to compensate and it contributes nothing about any parameter. The four required params (date, time, latitude, longitude) are self-evident by name, but the many sidereal/house-system/zodiacType modifiers that materially change this specific output are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Ptolemaic Egyptian bounds rulers' identifies the astrological resource (term/bound rulers in the Egyptian tradition), which is a real domain object and not a tautology of the name. However it is a bare noun fragment with no verb, and it never distinguishes itself from the many sibling Hellenistic traditions (brennan, greenbaum, schmidt) that produce overlapping time-lord and ruler material, so an agent cannot tell why this one versus another without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, prerequisite, or alternative-tool guidance anywhere in the description. The sibling set contains dozens of closely related Hellenistic ruler tools and the description gives no signal for choosing among them; only the '[Group: ...]' tag hints at a family, and that tag is shared by nine other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_hand_critical_degreesCritical DegreesCRead-onlyIdempotentInspect
Critical degrees by modality.
[Group: Hellenistic: Hand tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| onCritical | No | |
| criticalDegreeMap | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds only the pricing fact (10 credits, Tier 1), which is genuinely useful, but says nothing about what the computation does, how the input is interpreted, or any limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is terse and front-loaded with no filler, and the bracketed metadata is cleanly formatted. The problem is under-specification rather than verbosity, so it cannot score higher.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 4-required astronomical computation, the description leaves the agent unable to tell what 'critical degrees by modality' means or which inputs matter. An output schema exists so return values need not be explained, but the request side is severely under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries an obligation to explain inputs and does not: it names no parameter, no required field, and no meaning for 'by modality'. The partially documented schema is doing all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title almost verbatim ('Critical degrees by modality' vs. title 'Critical Degrees'), with no verb explaining what is actually computed or returned. It does not distinguish this tool from the ~700 siblings, including the closely named astroway_hellenistic_hand_bounds, _decanic_rulers, _decennials, and _perfections, all in the same Hand tradition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative tool. The only framing is the '[Group: Hellenistic: Hand tradition]' tag, which categorizes but does not advise on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_hand_decanic_rulersDecanic RulersBRead-onlyIdempotentInspect
Chaldean decan rulers per planet.
[Group: Hellenistic: Hand tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, non-destructive, idempotent, closed-world behavior. The description adds useful operational context (10 credits, Tier 1) but no further behavioral detail such as auth needs, rate limits, or computation basis.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence plus bracketed metadata; no words are wasted. The metadata is terse labeling rather than explanatory content, but the structure is otherwise clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return values need not be explained, and annotations cover safety. However, for a 15-parameter chart calculation, the description does not explain that date/time/latitude/longitude define the chart moment or what 'per planet' means in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds no parameter meaning at all. Key controls such as zodiacType, houseSystem, and ayanamsaId remain undocumented in both the description and schema descriptions, so the description fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific astrological resource — Chaldean decan rulers per planet — so the agent knows the output type. It does not explicitly distinguish this from sibling decan or Hellenistic hand tools, and the missing verb ('compute/list') leaves the action inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, prerequisites, or alternatives are provided. The only extra context is the group label and credit cost, which do not help an agent choose this tool over related Hellenistic tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_hand_decennialsDecennialsCRead-onlyIdempotentInspect
Hand's decennial timing technique.
[Group: Hellenistic: Hand tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sect | No | |
| source | No | |
| doctrine | No | |
| currentAge | No | |
| decennials | No | |
| disclaimer | No | |
| currentRuler | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds two genuinely useful bits of context the annotations cannot convey: the tradition grouping and the credit cost (10 credits, Tier 1). It still says nothing about output shape, time span covered, or reliance on lifespanYears.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief and front-loads the one substantive phrase, so there is no bloat. But the bracket-tag metadata reads as packing rather than description, and the whole thing is under-specified for a technique this obscure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. What is missing is the substance: what decennials are, what period the chart is broken into, and how lifespanYears affects the result — for a specialized Hellenistic technique among hundreds of siblings, that gap is material.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested body schema is extremely detailed (date/time formats, timezone rules, house-system letters, rejected short forms). The description contributes nothing about parameters, so the schema does all the work; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and title: 'Hand's decennial timing technique' adds no verb, no output, and no scope beyond the label 'Decennials'. An agent unfamiliar with the technique learns nothing about what the call actually computes or returns. The tradition tag differentiates the school but not the capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use decennials versus the many neighboring time-lord siblings (profections, zodiacal releasing, firdaria, longevity hyleg, quarter lord). No prerequisites, no alternative routing, no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_hand_horoscopos_trineHoroskopos TrineCRead-onlyIdempotentInspect
Bodies trining the rising sign.
[Group: Hellenistic: Hand tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| planetsInTrine | No | |
| horoscoposTrine | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds the group classification and a cost of 10 credits (Tier 1), which is genuinely useful context, but says nothing about what is computed or how bodies are selected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with no filler, but its brevity comes from under-specification rather than efficiency. The metadata lines do earn their place by conveying group and cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a 15-parameter tool with 33% schema coverage and no usage guidance the description is far too thin. An agent cannot determine when this is the right tool or how the optional inputs affect the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters, so the description is expected to compensate and adds no parameter meaning at all. The four required inputs (date, time, latitude, longitude) and the many optional modifiers are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Bodies trining the rising sign' names the resource (planets in trine to the Ascendant) but is terse astrological jargon with an implied verb rather than an explicit one. It does not distinguish this from the many sibling `hellenistic_hand_*` and `helg_*` tools beyond the group tag, so an agent must rely on domain knowledge to place it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the dense Hellenistic family. The group and cost tags are metadata, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_hand_longevity_hylegHyleg LongevityCRead-onlyIdempotentInspect
Tetrabiblos III.10 hyleg + alcocoden.
[Group: Hellenistic: Hand tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hyleg | No | |
| notes | No | |
| source | No | |
| caveats | No | |
| doctrine | No | |
| alcocoden | No | |
| hylegSign | No | |
| disclaimer | No | |
| alcocodenSign | No | |
| hylegLongitude | No | |
| lifespanEstimate | No | |
| planetYearsTable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior. The description adds only cost (10 credits, Tier 1) and group, which are useful but not rich behavioral disclosure; no auth, rate-limit, or output-shape context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise and front-loaded: the technique/source line comes first, followed by compact metadata. No filler, though the main line is terse to the point of under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter calculation tool with low schema coverage, the description is too sparse. It identifies the technique and cost but gives no usage context, prerequisites, or parameter guidance; the output schema covers returns, but callers still lack enough to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides zero parameter meaning. With 15 parameters and only 33% schema description coverage, it does not compensate for the undocumented inputs such as city, name, cosmogram, zodiacType, and houseSystem.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific technique and source (Tetrabiblos III.10 hyleg + alcocoden), which is more than a restatement of the title, but uses no action verb and does not distinguish it from sibling astroway_dignities_hyleg or other Hellenistic Hand tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives, and no prerequisites. The group tag categorizes the tool but does not tell an agent when to select it over other Hellenistic or hyleg-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_hand_lots_of_sevenLots of SevenCRead-onlyIdempotentInspect
Seven primary Lots per Hand.
[Group: Hellenistic: Hand tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sect | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| lotsOfSeven | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description's only added behavioral context is the cost tier (10 credits, Tier 1) and the tradition grouping, which the annotations do not carry. It says nothing about output shape, precision, or how the Lots are derived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the resource statement, and the bracketed group/cost metadata is useful. However, the brevity reflects under-specification rather than tightness, so it cannot score above a middling value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 15 parameters and multiple required astronomical inputs, the description is far too thin. An output schema exists so return values need not be explained, but the agent still lacks any statement of what makes this tool different from the numerous other Hellenistic Lot tools in the sibling list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% and the description contributes zero parameter meaning. Undocumented parameters include city, name, latitude/longitude, cosmogram, zodiacType, houseSystem and ayanamsaId, and the description does nothing to compensate for that gap even though required inputs like date, time and coordinates drive the whole computation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mostly restates the tool name: the name says 'lots_of_seven' and the text says 'Seven primary Lots per Hand.' It does not define what a 'Lot' is, list the seven Lots, or explain what 'per Hand' means to an agent. It gives no verb (compute/derive) and barely distinguishes itself from the sibling astroway_hellenistic_brennan_lots_15.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives such as astroway_hellenistic_brennan_lots_15 or the individual Lot tools (astroway_helg_daimon_tyche_axis, astroway_hellenistic_greenbaum_lot_of_eros_detail). The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_hand_perfectionsPerfectionsCRead-onlyIdempotentInspect
Perfection-of-aspects timing.
[Group: Hellenistic: Hand tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| ageYear | No | |
| doctrine | No | |
| yearLord | No | |
| disclaimer | No | |
| profectedSign | No | |
| yearStartDate | No | |
| profectedHouse | No | |
| perfectionChain | No | |
| yearLordNatalSign | No | |
| yearLordBoundRuler | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world profile, so the safety burden is lifted. The description adds the billing context (10 credits, Tier 1), which is genuinely useful behavior information, but nothing about computation cost, time span covered, or what a perfection event contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short and front-loads the one substantive phrase, with group and cost as bracketed metadata. There is no padding, but the brevity reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the description still leaves an agent unable to distinguish this Hand-tradition perfection tool from the parallel Brennan/Greenbaum/Schmidt families or to know what tradition-specific notion of 'perfection' is applied. For a natal-chart-based timing tool in a dense sibling cluster, this is too thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data object is heavily documented, so the schema does the heavy lifting. The description contributes nothing about body, fields, precision, or the targetAge branch of the anyOf, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase "Perfection-of-aspects timing" names the Hellenistic technique the tool computes, and the [Group: Hellenistic: Hand tradition] tag differentiates it from the Brennan/Greenbaum/Schmidt siblings. However, it is a bare noun phrase with no verb or statement of what is actually returned, so an agent cannot tell exactly what output this produces versus e.g. astroway_hellenistic_hand_decennials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. The only contextual lines are a group tag and a credit cost, neither of which tells the agent when this tool should be selected over the many other timing/profection tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_hand_quarter_lordQuarter LordCRead-onlyIdempotentInspect
Lord of the chart's seasonal quarter.
[Group: Hellenistic: Hand tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lord | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's only added behavioral fact is the '[Cost: 10 credits (Tier 1)]' note, which is genuinely useful and not present in the structured fields. Beyond that it discloses nothing about what is computed or returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with no filler, and the core statement is front-loaded before the group and cost tags. It is efficient, though its brevity is under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a specialized Hellenistic technique tool, the description never explains what a quarter lord is or why both a birth body and a required targetDate are needed. The output schema means return values needn't be described, but the technique and the purpose of targetDate remain unexplained, leaving a real gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body fields, fields, and precision in detail — baseline 3 applies. The description says nothing about the parameters, and notably does not explain the required targetDate field, which is unusual alongside the natal birth data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Lord of the chart's seasonal quarter' largely restates the tool name (Quarter Lord) with slightly more specificity about the seasonal quarter. It names no concrete output or operation, and with dozens of sibling Hellenistic tools (Brennan, Greenbaum, Schmidt, Hand variants) there is no differentiation beyond the name prefix. An agent unfamiliar with the tradition cannot tell what this returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all — no conditions, no alternatives, no prerequisites. The '[Group: Hellenistic: Hand tradition]' tag does hint at the author/tradition, which weakly helps route among the Brennan/Greenbaum/Schmidt variants, but that is categorization metadata, not usage instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_hand_sect_strengthSect Strength ScoreCRead-onlyIdempotentInspect
Numerical sect-light dignity scoring.
[Group: Hellenistic: Hand tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| score | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered by structured data. The description adds genuinely useful non-schema context: the credit cost (10 credits, Tier 1) and the tradition grouping. It does not explain what the score represents, its range, or what inputs drive it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines plus metadata tags, front-loaded with the core purpose and free of waste. But the brevity is under-specification rather than disciplined concision: there is no second sentence earning its place because there is essentially no content beyond the name restated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a specialized Hellenistic technique with 15 parameters, a low schema coverage, and only four required inputs, this is far too thin. The output schema exists so return values need not be described, but the description supplies neither the meaning of the score nor any usage context, leaving the agent to guess at a niche calculation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate for undocumented fields (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId). It adds no parameter meaning whatsoever, leaving the description's share of the parameter burden entirely unmet.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific astrological resource ('sect-light dignity') and the output kind ('numerical scoring'), which is more specific than the title alone. However, it never states a verb (compute/calculate) and does nothing to distinguish it from closely related siblings like astroway_hellenistic_schmidt_sect_classes or astroway_dignities_essential_dignities. An agent knows roughly what domain it hits but not precisely what it produces versus its neighbors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only contextual cue is the bracketed group tag '[Group: Hellenistic: Hand tradition]', which categorizes but does not advise. There is no when-to-use statement, no prerequisite, and no pointer to an alternative tool. An agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_schmidt_aspectual_typologyAspectual TypologyCRead-onlyIdempotentInspect
Aspect classes per Schmidt.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| typology | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered by structured data. The description adds two genuinely useful operational facts not in the annotations: the tradition grouping and the 10-credit Tier 1 cost. It says nothing, however, about what the response contains or how heavy the computation is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two bracketed tag lines are compact and front-loaded, and there is zero filler. But brevity here is achieved by omission rather than efficiency — the whole payload is one noun phrase plus metadata, so it is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a 15-parameter astrological computation with 33% schema coverage, the description leaves the agent without any basis for choosing zodiacType, ayanamsa, houseSystem, or a Schmidt-specific reading, and gives no hint of the concepts (aspect classes) it produces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not. It says nothing about the required date/time/latitude/longitude, the sidereal vs tropical switch (zodiacType, ayanamsa), house system codes, or whether Schmidt's method imposes any constraint on those inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Aspect classes per Schmidt" is essentially a restatement of the tool name (Aspectual Typology) with an author attribution tacked on. It names a resource but no verb and no scope, so an agent cannot tell what is actually computed or how this differs from the near-identical sibling astroway_hels_aspectual_typology or other Schmidt tools such as sect_classes and stations_and_phases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no statement of what input conditions this tool is appropriate for, no comparison against the many other Hellenistic aspect/dignity tools, and no exclusions. The group tag "Hellenistic: Schmidt tradition" is metadata, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_schmidt_derivative_houses_methodDerivative HousesCRead-onlyIdempotentInspect
Derived-house technique.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| examples | No | |
| disclaimer | No | |
| derivativeMap | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds nothing behavioral beyond the cost/group tags — it doesn't say what the response contains or what the technique computes. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but under-specified rather than concise — a single near-tautological fragment plus two bracketed metadata tags for a 15-parameter, 10-credit computation. There is no waste, but the definition is not appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but the description still omits the essentials: what a derived house is, which inputs drive it, and how it relates to the Schmidt-tradition siblings. For a complex, paid calculation this leaves the agent without enough context to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters, and the description supplies no parameter meaning at all. Critically, nothing in either the description or schema explains how the derived house itself is specified, so the agent cannot tell how to actually perform the technique.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Derived-house technique" essentially restates the title "Derivative Houses" without saying what the tool actually does — it never explains that derived/turned houses re-read a house as if it were the ascendant (e.g. for questions about parents, siblings, or property). With hundreds of sibling astroway_hellenistic_schmidt_* tools, there is no differentiation whatsoever.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, when not to, or which sibling technique to prefer instead. The only contextual notes are group and credit-cost tags, which are billing metadata rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_schmidt_ennea_mooiraiEnnea MooiraiCRead-onlyIdempotentInspect
Nine fates classification.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds a genuinely useful non-annotation fact — the 10-credit Tier 1 cost — but says nothing about what the operation computes or how the result is shaped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than economy. The bracketed metadata lines are structurally front-loaded, yet the one substantive sentence conveys almost nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the 15-param surface is largely conventional chart input. Still, a niche Hellenistic classification tool with no explanation of what it produces or when to invoke it leaves an agent unable to call it with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description is expected to compensate, and it supplies zero parameter information. The four required params (date, time, latitude, longitude) are self-explanatory from their names, which keeps this above a 1, but most of the 15 params get no added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Nine fates classification" is essentially a gloss of the tool's own name (Ennea Mooirai = nine fates), so it restates the title rather than stating a verb+resource. It gives no indication of what is actually computed or returned, and does nothing to separate it from the many other hellenistic_schmidt_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative tool. An agent has no basis for choosing this over astroway_hellenistic_schmidt_sect_classes or any other Schmidt-tradition sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_schmidt_levels_of_causationLevels of CausationDRead-onlyIdempotentInspect
Schmidt's causation tiers.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| heimarmene_fate | No | |
| pronoia_providence | No | |
| sympatheia_resonance | No | |
| oikeiosis_familiarity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description contributes only the credit cost (10 credits, Tier 1), which is genuinely useful for a metered API, but says nothing about what the computation returns or any constraints on it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines plus structured group/cost tags, front-loaded and free of bloat. However, the brevity reflects under-specification rather than economy, so it earns only a middling score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a specialized astrological computation with 15 inputs and an output schema, and the description never explains what a 'levels of causation' result contains or why an agent would choose it. An output schema removes the need to describe return values, but the tool's purpose and selection criteria remain entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is expected to compensate and does not — it mentions no parameter at all. The core required fields (date, time, latitude, longitude) are self-evident and several optional parameters are documented in the schema, which keeps this above the floor, but the description adds zero meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Schmidt's causation tiers,' which essentially restates the tool name and title without stating what is computed or returned. It does not distinguish this from the eight other Schmidt-tradition siblings (aspectual_typology, lord_of_prediction, sect_classes, etc.), so an agent cannot tell which Schmidt technique this exposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the near-identical astroway_hels_levels_of_causation or the other Schmidt tools. The only added metadata is group and cost, which do not help an agent decide when to invoke this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_schmidt_lord_of_predictionLord of PredictionCRead-onlyIdempotentInspect
Predictive significator selection.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lord | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds only a cost tier; it says nothing about what the 'lord' depends on, whether targetAge changes the result, or how it relates to the natal chart supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with no padding, but 'concise' here shades into under-specified: one sentence plus two bracketed tags that carry no task information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a domain-specific Hellenistic technique with a required natal chart plus a targetAge selector, the description never explains the technique, the age range semantics, or expected output, even though an output schema exists to cover return values. The agent cannot judge what this tool produces relative to its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the rich body/date/time/coordinates/timezone documentation is already in the schema. Baseline 3 applies; the description contributes no parameter meaning of its own, not even for targetAge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Predictive significator selection" names the astrological operation but gives no verb and no resource scope; an agent cannot tell what the tool computes or returns. The sibling astroway_hels_lord_of_prediction is an obvious near-duplicate and is not distinguished in any way.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. The group and cost tags describe billing metadata, not invocation conditions, so the agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_schmidt_morning_evening_starsMorning/Evening StarsCRead-onlyIdempotentInspect
Morning vs evening star classification.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| venus | No | |
| source | No | |
| mercury | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered elsewhere. The description adds only the credit cost (10 credits, Tier 1), which is mildly useful operational context but says nothing about what the classification depends on (heliacal visibility, phasis, rising/setting relative to the Sun) or how results are shaped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is tight and front-loaded, with the core statement in the first line and metadata bracketed below. There is no padding, but the extreme brevity is under-specification rather than economy for a 15-parameter calculation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but the tool still requires 4 positional inputs and exposes 15 parameters with heavy astronomical/terminology semantics that the description never touches. For a specialist Hellenistic timing calculation, the description is too thin to let an agent invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters, so the description is expected to compensate and does not: it mentions no parameter at all. Undocumented fields (city, name, cosmogram, ayanamsaId, zodiacType, houseSystem) receive no explanation in either the schema or the description, leaving the agent to guess the effect of these inputs on the classification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Morning vs evening star classification' names the resource (morning/evening stars) and implies a classifying action, so the general topic is recoverable. However, it gives no verb like 'compute/determine for a chart', no scope statement, and does not distinguish this tool from the near-identical sibling astroway_hels_morning_evening_stars. It reads as an expansion of the title rather than a self-contained purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the competing sibling (astroway_hels_morning_evening_stars) or of how the Schmidt-tradition output differs from that one. The only context is a group tag and credit cost, which does not tell an agent when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_schmidt_qualities_and_quantitiesQualities & QuantitiesDRead-onlyIdempotentInspect
Qualitative + quantitative analysis.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety behavior is covered by structured data. The description adds only a billing detail (10 credits, Tier 1) and the tradition group, which is mildly useful but says nothing about what the analysis returns, its dependencies, or any rate/credit implications beyond the tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but it is under-specified rather than concise: two fragments that convey no actionable content. Brevity here reflects missing information, not disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but for a 15-parameter, 4-required analysis tool the description omits purpose, usage conditions, and any differentiation from its many siblings. The group and cost tags are the only context supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description must compensate for undocumented inputs such as city, date, time, latitude, longitude, cosmogram, zodiacType and houseSystem — and it provides nothing. A caller must infer all of these from the schema alone, and several have no schema description at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a tautology: it restates the title 'Qualities & Quantities' as 'Qualitative + quantitative analysis' without naming a verb, resource, or what is actually computed. It does not distinguish this tool from the near-identical sibling astroway_hels_qualities_and_quantities or from other Schmidt-tradition siblings such as astroway_hellenistic_schmidt_aspectual_typology. Only the group/cost tags carry any identifying information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance anywhere in the description. An agent cannot tell from this text why it would pick this tool over the duplicate 'hels' variant or the many other hellenistic_schmidt_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_schmidt_sect_classesSect ClassesCRead-onlyIdempotentInspect
Sect classifications per Schmidt.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sect | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the bar is lower. The description's only additional context is the billing line '[Cost: 10 credits (Tier 1)]', which is genuinely useful operational information absent from the annotations. It says nothing, however, about what a 'sect classification' actually consists of or whether a day/night chart is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The three lines are compact and front-loaded with no filler, so nothing needs trimming. The problem is the opposite of verbosity: it is undersized for a 15-parameter astronomical computation, leaving the structure adequate but hollow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover safety. But for a Schmidt-tradition computation with 15 parameters and a large set of near-identical siblings, the description supplies no domain definition, no usage context, and no parameter help — an agent could not confidently choose it or call it correctly from this text alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only ~33% schema description coverage, the description carries a compensation burden it does not meet — it mentions no parameter at all. Even the well-documented astrological controls (ayanamsa vs. ayanamsaId, timezone vs. timezoneOffset, fields, precision) get no elaboration, and the four required birth-data params are the only ones an agent can infer unaided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the title restated: 'Sect classifications per Schmidt' adds only the author attribution, which the tool name (schmidt_sect_classes) already conveys. It names no verb and no scope, so an agent cannot distinguish it from the many adjacent Schmidt/Hellenistic siblings (asterisk: astroway_hellenistic_hand_sect_strength, the hels_* cluster) without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative-tool guidance is present. The '[Group: Hellenistic: Schmidt tradition]' tag implies a tradition context but does not tell the agent when this computation is the right choice versus sect-strength or the parallel Brennan/Greenbaum variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_schmidt_stations_and_phasesStations & PhasesCRead-onlyIdempotentInspect
Heliacal phases and stations.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without the description. The one genuine addition is the '[Cost: 10 credits (Tier 1)]' tag, which tells the agent about a metered call that no annotation conveys. Nothing is said about what the calculation covers, accuracy, or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short and front-loaded, with the subject in the first line and only the group/cost metadata after it; nothing is redundant or padded. The terseness reflects under-specification rather than bloat, so it scores well here while losing points elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but the definition is still inadequate for a 15-parameter, 4-required tool: no indication of which inputs matter, no usage context, and no differentiation from the duplicate Hellenistic sibling. An agent would be guessing about how to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a heavy compensation burden and adds nothing: no mention of the required date/time/latitude/longitude quadruple, the timezone-vs-timezoneOffset tradeoff, or the compact-mode fields/precision options. Undocumented parameters such as cosmogram, zodiacType, houseSystem and ayanamsaId receive no clarification from the prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific subject ('Heliacal phases and stations') and locates it in a tradition group, so the agent can tell it is an observational-astronomy calculation rather than, say, a chart render. However, it is a bare noun fragment with no verb and no hint of what is computed or returned, and it does not distinguish itself from the near-identical sibling astroway_hels_stations_and_phases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no prerequisites, no statement of what inputs are needed to produce phases/stations, and no routing toward the many adjacent phase-related siblings (astroway_calendar_moon_phase, astroway_calendar_planetary_phases, astroway_hels_stations_and_phases). The group and cost tags are metadata, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hellenistic_schmidt_stoic_elementhoodStoic ElementhoodCRead-onlyIdempotentInspect
Stoic doctrine of elemental natures.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| elements | No | |
| qualities | No | |
| disclaimer | No | |
| dominantElement | No | |
| dominantQuality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds genuinely useful non-schema context — a 10-credit Tier 1 cost and its Schmidt-tradition grouping — which matters for budget-aware tool selection. It still says nothing about what the call actually returns or how it behaves on edge inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the one content line before the metadata tags, so nothing is padded. However, the brevity reflects under-specification rather than disciplined concision — the cost/group tags are the only actionable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the description still fails to convey what this niche technique produces or when it is relevant, and it is silent on all 15 inputs. For a domain-specific Hellenistic calculation, this leaves the agent guessing about applicability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a real compensation burden, and it adds zero parameter information — not even which required inputs (date, time, latitude, longitude) drive the result or what 'elemental natures' maps to. The agent must read the schema entirely on its own for a complex 15-param call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title as a topic phrase — 'Stoic doctrine of elemental natures' — with no verb, no statement of what is computed, and no output mentioned. It does not distinguish this from near-identical siblings such as astroway_hels_stoic_elementhood or astroway_hellenistic_schmidt_sect_classes. It is essentially a topical label rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance; the only additional lines are group and cost metadata. An agent cannot tell from this text whether to call this versus the other Schmidt-tradition or hellenistic tools for a given question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hels_aspectual_typologyAspectual TypologyCRead-onlyIdempotentInspect
Aspect classes per Schmidt.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_schmidt_aspectual_typology.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| typology | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds useful cost/group metadata (10 credits, Tier 1, Schmidt tradition), but says nothing about computation behavior, prerequisites, or interpretation of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the core phrase, and the alias and cost lines are compact. But it is under-specified rather than genuinely concise, spending lines on metadata while omitting functional detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be described, but with a vague purpose statement, no usage guidance, and 33% parameter coverage, the description is not complete enough for an agent to confidently select and invoke this tool among hundreds of siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds zero parameter information to compensate. For a chart calculation tool with required date/time/latitude/longitude plus many optional tuning params, this leaves the agent relying on incomplete schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource ('Aspect classes per Schmidt') and the tradition grouping, which does distinguish it from other Hellenistic siblings. However, 'aspect classes' is jargon that doesn't clarify what is actually computed or returned, and there is no clear verb describing the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives. The only routing information is that it is a cursor-friendly alias for astroway_hellenistic_schmidt_aspectual_typology, which tells the agent it is a duplicate rather than when to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hels_derivative_houses_methodDerivative HousesCRead-onlyIdempotentInspect
Derived-house technique.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_schmidt_derivative_houses_method.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| examples | No | |
| disclaimer | No | |
| derivativeMap | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful operational context not in the annotations: the 10-credit Tier 1 cost and the tradition grouping. It says nothing about what the technique actually produces, but with annotations carrying the behavioral burden this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, with no filler sentences. However, the brevity comes at the cost of substance; the only content is metadata brackets and an alias note rather than a description of the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but for a 15-parameter chart-calculation tool with no annotations about required inputs and no usage guidance, the definition leaves the agent without enough to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Fifteen parameters at 33% schema coverage, and the description gives zero parameter guidance. Nothing explains how date/time/latitude/longitude interact, which required fields are mandatory for the chart, or what houseSystem/zodiacType/ayanamsa mean for a derivative-houses computation. The description does not compensate for the coverage gap at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Derived-house technique" essentially restates the tool name and title rather than describing what the call computes or returns. The only added information is the tradition group and the alias mapping, neither of which clarifies purpose. An agent cannot tell from this text what output to expect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no differentiation from the many sibling Hellenistic/Schmidt tools (aspectual_typology, levels_of_causation, etc.). The alias note only says the two names are interchangeable, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hels_levels_of_causationLevels of CausationCRead-onlyIdempotentInspect
Schmidt's causation tiers.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_schmidt_levels_of_causation.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| heimarmene_fate | No | |
| pronoia_providence | No | |
| sympatheia_resonance | No | |
| oikeiosis_familiarity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description usefully adds cost metadata ('10 credits, Tier 1') and the tradition grouping, which an agent needs for budgeting, but says nothing about behavior such as computation dependencies or the fact that an output schema drives the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three terse bracketed lines, front-loaded, with no wasted prose. Each element (group, cost, alias) earns its place, though the extreme brevity comes at the cost of substance rather than being a model of efficient completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrological computation tool with 33% schema coverage, the description is far too thin. The existence of an output schema excuses it from explaining return values, but it still leaves purpose, usage context, and most parameter meanings unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a compensation burden it does not meet — it mentions no parameters at all. Date/time/lat/long are self-evident from name and pattern, but the undocumented fields (zodiacType, houseSystem, cosmogram, etc.) get no clarification from either source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Schmidt's causation tiers,' which is essentially a restatement of the tool name 'levels of causation' rather than a specific verb+resource. It does add real value by disclosing that this is an alias of `astroway_hellenistic_schmidt_levels_of_causation`, helping the agent avoid a duplicate call, but it never states what the tool actually computes (e.g. a chart-derived breakdown of causation levels).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, when to prefer it over the canonical Schmidt tool or the other `hels_*` variants, or what prerequisites exist. The alias note implicitly routes the agent but does not establish usage conditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hels_lord_of_predictionLord of PredictionCRead-onlyIdempotentInspect
Predictive significator selection.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_schmidt_lord_of_prediction.)
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lord | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so safety is covered. The description adds two genuinely useful operational facts the annotations do not carry: it costs 10 credits (Tier 1) and belongs to the Hellenistic: Schmidt group. It says nothing, however, about what the computation returns or any input constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: one-line purpose statement followed by group, cost and alias metadata. Nothing is padded, though the terseness borders on under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a specialized Hellenistic technique requiring full natal birth data plus a target age, sitting among hundreds of astrological siblings, and the description explains none of the technique, its inputs' purpose, or its output. An output schema exists so return values need not be described, but the agent has no basis for choosing this tool over the other Schmidt-tradition or time-lord tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the nested body schema documents date/time/latitude/longitude, timezone, houseSystem, ayanamsa and the compact-mode fields in detail — so the schema does the heavy lifting and a baseline 3 is appropriate. The description adds no parameter meaning of its own; notably the required targetAge field carries no schema description either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Predictive significator selection' names the technique's domain but is essentially a restatement of the title 'Lord of Prediction' and never says what the tool actually computes or returns. It does locate the tool in the 'Hellenistic: Schmidt tradition' group, which helps place it among siblings, but an agent still cannot tell what a 'lord of prediction' result looks like.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all — nothing says when to pick this predictive-time-lord technique over profections, zodiacal releasing, firdaria, or the dozens of other timing tools in the sibling list. The only routing information is that it is a 'Cursor-friendly alias' of astroway_hellenistic_schmidt_lord_of_prediction, which identifies a duplicate rather than a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hels_morning_evening_starsMorning/Evening StarsCRead-onlyIdempotentInspect
Morning vs evening star classification.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_schmidt_morning_evening_stars.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| venus | No | |
| source | No | |
| mercury | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description usefully adds cost ('10 credits (Tier 1)') and the tradition group, which the structured fields do not carry, but says nothing about output shape or computational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with the purpose first and metadata bracketed afterwards. No sentence is wasted, though the alias note is meta-information rather than task guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but a 15-parameter astronomical calculation with 33% schema coverage needs more than a one-line label. The description does not explain the required date/time/lat/lon contract or the numerous optional switches, so an agent lacks enough to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is the natural place to compensate for the undocumented fields (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId). It adds no parameter guidance at all, leaving many inputs entirely unspecified in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Morning vs evening star classification' is a real Hellenistic technique, but it largely restates the tool name rather than explaining what the tool computes or returns. It does not distinguish this tool from the canonical `astroway_hellenistic_schmidt_morning_evening_stars` it aliases, or from sibling hels_/helg_ variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only routing information is that this is a 'Cursor-friendly alias' of another tool, which tells an agent about naming, not about when this analysis applies. There is no statement of when to use it versus the canonical sibling or other chart techniques, and no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hels_qualities_and_quantitiesQualities & QuantitiesCRead-onlyIdempotentInspect
Qualitative + quantitative analysis.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_schmidt_qualities_and_quantities.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuinely useful operational context: a 10-credit Tier 1 cost and the Schmidt-tradition grouping. It does not, however, add anything about auth, rate limits, or result behavior beyond the cost line.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded with no filler, but the single substantive line is too thin for a 15-parameter chart tool. The metadata markers (group, cost, alias) are well structured and earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (15 params, 3 enums, low schema coverage) and the description does not address what the analysis returns or which inputs drive it, even though an output schema exists to cover return shape. For this level of complexity the description is materially incomplete beyond the cost and alias hints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, four of them required (date, time, latitude, longitude), yet the description supplies zero parameter meaning. It does not compensate for the uncovered fields or clarify the interaction between timezone, timezoneOffset, and ayanamsa that the schema only partially documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The body text "Qualitative + quantitative analysis" essentially restates the tool name/title, leaving the actual Hellenistic Schmidt doctrine unnamed and unexplained. The only genuine disambiguation is the note that this is a cursor-friendly alias for `astroway_hellenistic_schmidt_qualities_and_quantities`, which helps identify the twin but not the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, what question it answers, or what to use instead. The alias note implies interchangeability with the canonical tool, but no condition selecting either over the wide set of `hels_*` / `hellenistic_schmidt_*` siblings is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hels_stations_and_phasesStations & PhasesCRead-onlyIdempotentInspect
Heliacal phases and stations.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_schmidt_stations_and_phases.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe-read profile (readOnly, idempotent, non-destructive, closed-world). The description adds two genuinely useful operational facts: the credit cost (10, Tier 1) and the group/tradition it belongs to, plus the alias identity. It says nothing about output shape or whether phases are computed for a single moment or a span, which matters for a tool with 15 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short lines, purpose front-loaded, metadata bracketed and clearly separable. Nothing is padded, though the alias note is arguably redundant with the tool name prefix 'hels'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but with 33% parameter coverage and no description-level compensation, an agent cannot confidently populate the eleven undocumented inputs. The description also fails to clarify whether stations/phases are natal-moment snapshots or time-series results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, leaving roughly ten parameters (city, date, name, time, latitude, longitude, cosmogram, zodiacType, houseSystem, ayanamsaId) undocumented in the schema, and the description supplies zero parameter meaning to compensate. For a 15-parameter tool this is a substantial gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the subject matter ('Heliacal phases and stations') but uses no verb and does not say what is actually returned or computed. It is distinguishable from unrelated siblings, but nothing separates it from near-neighbours like astroway_hels_morning_evening_stars or the canonical astroway_hellenistic_schmidt_stations_and_phases beyond the alias note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no comparison to alternatives. The only routing information is the parenthetical alias mapping, which tells the agent this duplicates another tool but not which one to prefer or under what circumstances.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_hels_stoic_elementhoodStoic ElementhoodCRead-onlyIdempotentInspect
Stoic doctrine of elemental natures.
[Group: Hellenistic: Schmidt tradition] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_hellenistic_schmidt_stoic_elementhood.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| elements | No | |
| qualities | No | |
| disclaimer | No | |
| dominantElement | No | |
| dominantQuality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful non-schema context: the billing cost (10 credits, Tier 1) and the doctrinal group (Hellenistic: Schmidt tradition). It does not describe required chart inputs or output characteristics, so it only partially extends the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines, front-loaded with the doctrinal subject, followed by structured group/cost metadata and the alias note. Nothing is padded and each line carries distinct information (identity, cost, alias), though the metadata uses bracketed conventions rather than natural prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but this is a 15-parameter chart-calculation tool with 33% parameter coverage and no usage or input context. The description never signals that a birth moment and coordinates are required or how the various doctrinal options affect results, leaving the agent under-informed for such a complex call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is expected to compensate and adds nothing about any parameter. Key inputs (date, time, latitude, longitude required; zodiacType, houseSystem, cosmogram) are left to the schema alone, and the description never explains how this tool's doctrine depends on ayanamsa or zodiacType. It provides zero parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Stoic doctrine of elemental natures" is a subject label rather than a verb+resource statement; it essentially restates the title "Stoic Elementhood" without saying what the tool computes or returns. The alias note identifies it as equivalent to astroway_hellenistic_schmidt_stoic_elementhood, which helps routing slightly, but nothing states the operation performed. Tautological against the name/title, so a 2.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative selection guidance is given. The parenthetical alias note is the only routing hint, telling the agent it is interchangeable with the full-name variant, but that is identity information, not usage context. No prerequisites or scenario guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horary_diagnosticsHorary DiagnosticsBRead-onlyIdempotentInspect
Run a full horary radicality diagnostic including early/late ASC, Via Combusta, Saturn in 7th, and considerations before judgement.
[Group: Horary] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| passed | No | |
| radical | No | |
| recommendation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive) and closed-world, so those behaviors need no restating. The description adds cost (20 credits, Tier 2), which is useful and not in annotations. However it reveals nothing about what the diagnostic returns, whether it requires a valid chart, or failure modes for non-radical charts. With annotations carrying the safety load, the cost disclosure earns a middling score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded verb+resource, one dense sentence enumerating the checks, plus bracketed group/cost metadata. No filler. Minor: the enumerated jargon (Via Combusta, Saturn in 7th) is unexplained, but length and ordering are efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The cost and scope are covered, but for a 15-parameter tool at 33% schema coverage, the description omits any note on time-basis (horary is judged for the questioned moment) or which parameters the diagnostic actually uses. Adequate but leaves gaps given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, but the description supplies zero parameter guidance for the 15 params (4 required: date, time, latitude, longitude). The schema itself documents timezone, fields, precision, ayanamsa and houseSystem well, and has enums, so an agent can call it, but the description does not compensate for the uncovered params nor clarify that horary uses the moment of the question. Baseline 3 reflects the schema doing the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Run) and resource (horary radicality diagnostic) and enumerates what the diagnostic includes (early/late ASC, Via Combusta, Saturn in 7th, considerations before judgement). This distinguishes it from sibling horary tools like astroway_horary_via_combusta or astroway_horary_moon_aspects, which cover only a piece of this. It doesn't explicitly name which sibling to use for individual checks, but the enumerated components clarify the bundle-scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The enumerated checks imply the tool is used for a full radicality screening before judging a horary chart, but the description never says that or contrasts with the narrower sibling tools (via_combusta, moon_voc, planetary_hours) that overlap. Usage is inferable from context but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horary_horaryHorary ChartBRead-onlyIdempotentInspect
Calculate a horary chart for a question moment and return the chart data with radicality assessment and significator analysis.
[Group: Horary] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chart | No | |
| indicators | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive/closed-world, so the safety profile is handled. The description usefully adds the cost (20 credits, Tier 2) and names the analysis outputs, but with an output schema present the return description is partly redundant and there is no word on auth, caching, or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus metadata tags, front-loaded with the action and result. No filler, though for a 15-parameter tool the brevity edges toward under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be spelled out, and cost is disclosed. However, for a Tier-2 paid tool with 15 parameters and a third of them undocumented, the description leaves the agent without enough input guidance to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not: it says nothing about ayanamsa, houseSystem, zodiacType, fields, precision, timezone, or cosmogram. 'Question moment' loosely implies date/time/location but adds almost no semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (calculate) and resource (horary chart) plus the distinctive outputs (radicality assessment, significator analysis). It does not explicitly differentiate itself from siblings like astroway_horary_diagnostics or astroway_vedic_kp_horary, but the mention of radicality/significator output narrows it meaningfully.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a question moment' hints at the horary use case, but there is no when-to-use vs when-not guidance, no prerequisites, and no routing to sibling horary tools. An agent gets no help choosing this over astroway_horary_diagnostics or a plain chart tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horary_moon_aspectsHorary Moon AspectsARead-onlyIdempotentInspect
List all aspects the Moon will make in this horary chart before leaving its sign, the key timing tool in horary.
[Group: Horary] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lastAspect | No | |
| nextAspect | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds genuinely useful non-schema facts: the 20-credit Tier 2 cost and the Horary grouping. It says nothing about response shape or precision, but the output schema exists so that is not a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with the operative scope up front, followed by two compact metadata lines for group and cost. Nothing is redundant and nothing needed is buried behind preamble.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart-calculation tool with 4 required birth-data fields and low schema coverage, the description omits any parameter orientation and never explains what the caller must supply. The existence of an output schema absolves it of describing return values, but it is under-specified for the inputs an agent must construct.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a real compensation burden and provides none: no hint that date, time, latitude and longitude are required, no mention of chart-configuration options like zodiacType, houseSystem or ayanamsa. An agent gets no guidance beyond the raw schema for the two-thirds of parameters that are undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb plus resource ('List all aspects the Moon will make') and bounds the scope precisely with 'before leaving its sign'. That scope clause distinguishes it from the nearby Moon-focused siblings (astroway_horary_moon_voc, astroway_calendar_moon_aspects) without needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'the key timing tool in horary' signals the domain and intent, implying when to reach for it. However, it names no alternative and gives no when-not condition, so an agent choosing between this and astroway_horary_moon_voc or astroway_horary_horary must infer the boundary itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horary_moon_vocHorary Moon VOCBRead-onlyIdempotentInspect
Check if the Moon is void-of-course in this horary chart and return the last aspect it made and when it enters the next sign.
[Group: Horary] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| voc | No | |
| lastAspect | No | |
| nextSignEntry | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds that it reports the last aspect and the sign ingress, which is useful output context, but says nothing about auth, rate limits, or computation caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence stating the check and its outputs, followed by compact group/cost tags. Efficient and free of filler, though the return-value clause partially duplicates what the output schema already provides.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations and the output schema carry much of the burden, but for a 15-parameter tool with low schema coverage the definition is thin: no sibling differentiation, no guidance on timezone/location handling, and no usage context. It is minimally viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description supplies zero parameter guidance. Nothing explains the required date/time/latitude/longitude quartet, the timezone-vs-timezoneOffset choice, or the compact-mode fields/precision options, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('Check if the Moon is void-of-course') and scopes it to 'this horary chart', which implicitly separates it from the range-scanning sibling astroway_calendar_moon_voc. It also states the return content (last aspect, next sign ingress). It stops short of explicitly naming the alternative tool, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: nothing says to prefer this over astroway_calendar_moon_voc, astroway_stream_void_of_course, or the webhook variant. No prerequisites (e.g., that a specific moment and location are needed to build the horary chart) are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horary_planetary_hoursHorary Planetary HoursBRead-onlyIdempotentInspect
Return the planetary hour ruler at the exact moment of a horary question and check if it matches the ASC ruler.
[Group: Horary] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| dayOfWeek | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| sunsetHour | Yes | ||
| currentHour | No | ||
| sunriseHour | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| match | No | |
| hourEnd | No | |
| ascRuler | No | |
| dayRuler | No | |
| hourRuler | No | |
| hourStart | No | |
| hourNumber | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuine operational context beyond that: the 20-credit Tier 2 cost and the Horary grouping. It says nothing about what the comparison result contains or how sunrise/sunset inputs shape the hour boundaries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded lines with no filler; the core action leads and the metadata tags trail. Slightly more compact than necessary given the bracket lines, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters at 33% schema coverage, an output schema, and no explanation of the required sunrise/sunset/hour inputs, the description is too thin. An agent can grasp the intent but not how to populate three required numeric fields or what the matching flag means.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (6 params, only 'fields' and 'precision' documented). The description adds no meaning for dayOfWeek, sunriseHour, sunsetHour or currentHour — notably it never explains the encoding of dayOfWeek or the expected units/format of the hour values, which is exactly what the schema omits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it returns the planetary hour ruler at the moment of a horary question and compares it to the ASC ruler. That is concrete and actionable. It does not, however, differentiate itself from the close sibling astroway_calendar_planetary_hours, so an agent cannot tell from the text which one to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'at the exact moment of a horary question' implies the horary context in which this tool belongs, which is useful implied guidance. There is no explicit when-to-use/when-not statement and no reference to the calendar planetary-hours sibling, so routing remains partly inferential.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horary_via_combustaVia Combusta CheckBRead-onlyIdempotentInspect
Check if the Moon or ASC is in the Via Combusta (15° Libra – 15° Scorpio), a classical prohibition in horary.
[Group: Horary] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| moonLongitude | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| warning | No | |
| moonSign | No | |
| ascLongitude | No | |
| moonLongitude | No | |
| ascViaCombusta | No | |
| moonViaCombusta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds the definitional boundary of the arc, but it claims to check 'the Moon or ASC' while the schema exposes only moonLongitude — a materially misleading statement about behavior that the agent must reconcile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences that front-load the core operation and its numeric range, plus compact group/cost metadata. Nothing is wasted, though the ASC clause adds ambiguity rather than value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover the safety profile. What remains missing is the meaning/format of the sole required parameter and any resolution of the Moon-vs-ASC discrepancy, which an agent needs in order to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The required moonLongitude parameter has no description in the schema at all (bare anyOf number/null), and the description never clarifies its expected format, reference frame, or units. Worse, the description advertises an ASC input that does not exist as a parameter, so it actively confuses rather than compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Check if the Moon or ASC is in the Via Combusta') and even defines the exact arc (15° Libra – 15° Scorpio), so the agent knows precisely what is tested. It does not, however, differentiate itself from adjacent horary tools like astroway_horary_moon_voc or astroway_calendar_moon_voc, leaving the agent to infer which check applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage context is 'a classical prohibition in horary,' which names the domain but not the trigger condition. There is no guidance on when to invoke this versus astroway_horary_moon_voc, astroway_horary_diagnostics, or the broader astroway_horary_horary tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horoscope_compatibilityCompatibility HoroscopeBRead-onlyIdempotentInspect
Generate a relationship horoscope based on synastry between two charts: strengths, friction points, and themes for the next 30 days.
[Group: Horoscope] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| sign1 | Yes | ||
| sign2 | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| disclaimer_inline | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| score | No | |
| summary | No | |
| language | No | |
| strengths | No | |
| challenges | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint, so safety is covered. The description usefully adds the shape of the result and the '[Cost: 50 credits (Tier 3)]' charge, but says nothing about auth, rate limits, or response size behavior. Adequate-but-thin against annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence covering purpose and outputs, followed by compact group/cost metadata. No filler, though the bracketed metadata lines are boilerplate rather than description content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, with 6 parameters, low schema coverage, and no usage guidance, the description leaves an agent guessing about language/disclaimer_inline and about when this tool beats its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: language and disclaimer_inline have no descriptions, and sign1/sign2 are bare enums. The phrase 'between two charts' loosely implies the two required sign parameters but adds no format, default, or interaction detail to compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Generate a relationship horoscope based on synastry between two charts', with concrete outputs named (strengths, friction points, 30-day themes). The two-chart synastry scope implicitly distinguishes it from the single-sign time-period siblings (daily/monthly/weekly/yearly), but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, no prerequisites, and no routing to alternatives such as astroway_render_composite or astroway_horoscope_daily for period-based readings. Usage is only inferable from the purpose sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horoscope_dailyDaily HoroscopeBRead-onlyIdempotentInspect
Generate a daily horoscope by zodiac sign, grounded in real ephemeris data (current Moon phase, transits). Multi-language. AI-written, not pre-generated content.
[Group: Horoscope] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| sign | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| disclaimer_inline | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| language | No | |
| horoscope | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed world), and the description adds genuinely useful context beyond them: AI-written (not pre-generated), grounded in current Moon phase/transits, multi-language, and a 50-credit cost. These are behavioral traits an agent benefits from knowing before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with a clear purpose sentence, followed by two brief supporting clauses and cost/group tags. Appropriately sized with no wasted prose, though the bracketed metadata adds minor clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and annotations cover safety. However, for a 6-parameter tool with low schema coverage, the description omits parameter-level guidance and any routing versus the horoscope siblings, leaving meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (date, sign, language, disclaimer_inline are undocumented), so the description carries more of the burden. It only alludes to the language parameter via 'Multi-language' and says nothing about date, precision, fields, or disclaimer_inline, leaving the coverage gap unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Generate') and resource ('daily horoscope') scoped by zodiac sign. The 'daily' cadence implicitly contrasts with siblings like weekly/monthly/yearly, but the description never names or explicitly differentiates itself from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternatives guidance. It describes what the tool is ('grounded in real ephemeris data', 'AI-written') but never tells the agent when to pick this over astroway_horoscope_weekly, _monthly, or _yearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horoscope_monthlyMonthly HoroscopeBRead-onlyIdempotentInspect
Generate a monthly horoscope with major transits, Moon phases, and personal-year themes (profections-aware).
[Group: Horoscope] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| sign | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| disclaimer_inline | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| language | No | |
| horoscope | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely new context: the output composition (transits/Moon phases/profections) and the cost tier (50 credits, Tier 3), which matters for budget-sensitive planning. It does not mention auth or latency, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence front-loads the deliverable and its components, followed only by compact group/cost metadata. No filler, nothing repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the cost/group tags help. But with 33% parameter coverage and zero guidance on choosing this over the other horoscope cadences, an agent still lacks enough to call it confidently in ambiguous cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 6 parameters, so the description is expected to compensate — it does not. It says nothing about 'date' (which drives the month), 'sign', 'language', or 'disclaimer_inline', leaving the only parameter hints to the schema's own 'fields' and 'precision' descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Generate a monthly horoscope') and enumerates the deliverable contents (major transits, Moon phases, personal-year themes, profections-aware). The 'monthly' scope implicitly separates it from astroway_horoscope_daily/weekly/yearly, but no sibling is named explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no routing to the daily, weekly, yearly, or compatibility siblings. The agent must infer the monthly cadence from the name alone; nothing tells it when this tool beats the neighboring horoscope tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horoscope_weeklyWeekly HoroscopeBRead-onlyIdempotentInspect
Generate a weekly horoscope (7-day window) with key transit events and themes. AI-written, ephemeris-grounded.
[Group: Horoscope] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| sign | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| disclaimer_inline | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| body | No | |
| title | No | |
| weekEnd | No | |
| language | No | |
| weekStart | No | |
| keyTransits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuinely new behavioral context: the output is AI-written rather than purely computed, it is ephemeris-grounded, and it explicitly discloses a 50-credit Tier 3 cost that appears nowhere in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core purpose front-loaded, followed by compact group/cost metadata. Nothing is padded, though the bracketed metadata is administrative rather than agent-facing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the generation intent is clear. However, for a 6-parameter tool with mostly undocumented optional parameters (language, fields, precision, disclaimer_inline), the description leaves an agent without enough context to drive those options correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (date, sign, language and disclaimer_inline have no schema descriptions), so the description was expected to compensate and does not — it never mentions language, fields, precision, or date semantics. The two documented params are covered only by the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Generate a weekly horoscope') and pins the scope with '(7-day window)', which implicitly separates it from the daily/monthly/yearly siblings. It stops short of naming those alternatives explicitly, so differentiation relies on the agent noticing the time-window wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this over astroway_horoscope_daily, _monthly, or _yearly, and no prerequisites or exclusions. Usage is only implied by the word 'weekly'; the agent must infer the selection rule from the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horoscope_yearlyYearly HoroscopeBRead-onlyIdempotentInspect
Generate a year-ahead horoscope (12-month window) with major transit cycles, solar return chart context, and time-lord (profection) for the year.
[Group: Horoscope] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| sign | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| disclaimer_inline | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| body | No | |
| year | No | |
| title | No | |
| language | No | |
| solarReturn | No | |
| profectionLord | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond annotations: the cost (100 credits, Tier 4) and the group membership. It does not mention auth requirements or any rate/consumption caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the core purpose, followed by structured group/cost tags. Nothing is padded. Slightly more could have been done with the available space given the tool's parameter surface, but there is no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a read-only, annotated tool the safety profile is covered, but with 6 parameters at 33% schema coverage and no usage routing, the definition leaves the agent to infer too much about argument selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (6 params, only fields and precision documented). The description adds no parameter meaning at all, so it fails to compensate for the undocumented date, sign, language, and disclaimer_inline parameters. It neither clarifies defaults nor explains the compact-mode interaction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Generate) plus resource (year-ahead horoscope) with an explicit scope qualifier, the 12-month window, which inherently separates it from the daily/weekly/monthly siblings. It also enumerates content (transit cycles, solar return context, profection). It stops short of naming a sibling, but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives. An agent choosing between astroway_horoscope_yearly, _monthly, _weekly, and _daily gets no routing rule; the 12-month window is inferable from the name but the description does not state a selection condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_iching_by_questionBy QuestionBRead-onlyIdempotentInspect
Deterministic hexagram from question text.
[Group: I Ching (Standalone)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| seed | No | |
| source | No | |
| hexagram | No | |
| question | No | |
| lowerTrigram | No | |
| upperTrigram | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. The description adds two genuinely new facts — determinism (same question yields the same hexagram) and a 10-credit cost — but says nothing about output shape beyond what the output schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight lines, with the core purpose front-loaded before the bracketed group and cost metadata. Nothing is padded, though the boilerplate bracket tags carry little decision value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and annotations cover the safety profile. What remains missing is sibling differentiation among five I Ching tools and any semantics for the required question input, leaving the agent to guess at routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: fields and precision are documented in the schema, but the required 'question' parameter has no schema description and the tool description only says 'from question text', adding no constraints or format guidance (2-500 chars). Baseline 3 is appropriate, with a small gap on the required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific output (a hexagram) derived from a specific input (question text), and 'deterministic' hints at how it differs from sibling tools like throw_coins. However, it never names a sibling, so an agent must infer the distinction rather than being told it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or routing against the four sibling I Ching tools (daily, lookup_number, throw_coins, with_changing_lines). The word 'deterministic' implicitly contrasts with a random-cast tool, but nothing tells the agent which condition selects this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_iching_dailyDaily I ChingBRead-onlyIdempotentInspect
Deterministic per-date hexagram.
[Group: I Ching (Standalone)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| source | No | |
| hexagram | No | |
| lowerTrigram | No | |
| upperTrigram | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive, so the safety profile is covered. The description adds that the result is deterministic per date, which usefully reinforces the idempotent hint, and gives a credit cost. It does not describe the return shape or any auth/quota behavior beyond cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and terse with zero padding, and the group/cost lines are compact structured metadata. It is efficiently sized, though the one-line purpose is arguably too thin for a tool with three parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover the safety profile. However the description leaves the date format and sibling routing unaddressed, which are the main things an agent still needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: fields and precision are documented in the schema, but the date parameter has no schema description. 'per-date' tells the agent date matters but never gives a format (ISO date, timezone, etc.), so the description only partially compensates for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (hexagram) and a clear scope modifier (per-date, deterministic), which separates it from the random astroway_iching_throw_coins and the question-driven astroway_iching_by_question. It does not explicitly name a sibling, but 'per-date' and 'deterministic' make the purpose legible enough to distinguish it from the other I Ching tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'daily' and 'per-date' imply the intended use case (get the hexagram for a given day), but there is no explicit when-to-use, when-not-to-use, or routing to alternatives like astroway_iching_lookup_number or astroway_iching_with_changing_lines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_iching_lookup_numberHexagram LookupBRead-onlyIdempotentInspect
Fetch hexagram 1-64 by King Wen number.
[Group: I Ching (Standalone)] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| number | Yes | Hexagram number in King Wen order. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| hexagram | No | |
| lowerTrigram | No | |
| upperTrigram | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is fully covered. The description adds one genuinely useful behavioral fact — that cost is not in the public credit manifest, so billing is plan-dependent — but says nothing about response shape or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is short, front-loaded, and waste-free. The bracketed Group/Cost tags are boilerplate but compact and carry real information (cost uncertainty).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, rich annotations, and full schema coverage, the description only needs to nail purpose and routing. Purpose is clear, but among six I Ching siblings an agent would benefit from a routing hint that this is the direct-lookup path rather than a reading/casting path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains number, fields, and precision in detail. The description adds no parameter meaning beyond what the schema provides, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Fetch') and resource ('hexagram 1-64') with the keying scheme ('by King Wen number'), so the agent knows exactly what this returns. It does not explicitly distinguish itself from the I Ching siblings (throw_coins, by_question, daily, with_changing_lines), but the 'by number' lookup is inherently distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the four other I Ching tools, no prerequisites, and no exclusions. The only contextual line is a cost caveat, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_iching_throw_coinsThrow CoinsCRead-onlyIdempotentInspect
Seeded 3-coin method.
[Group: I Ching (Standalone)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| method | No | |
| source | No | |
| hexagram | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, covering safety and determinism. The description adds the 'seeded' nature (explaining idempotency) and a cost of 10 credits, which are useful behavioral details beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loads the method name, with no wasted prose. However, for a tool with three parameters and an output schema, it is arguably under-specified rather than appropriately sized, falling short of what a concise-yet-informative description should include.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters, output schema present, multiple I Ching siblings), the description is incomplete. It does not explain what the tool returns (though the output schema covers that) and, more importantly, provides no guidance on selecting it over other I Ching tools or on how the seed affects results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%: the fields and precision parameters are well documented in the schema, but the seed parameter has no schema description. The word 'Seeded' in the description hints that seed controls randomness, but it does not explain the anyOf number/string format or compensate for the missing schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Seeded 3-coin method' restates the tool name/action with a qualifier and does not state what the tool actually produces (e.g., an I Ching hexagram or reading). It fails to distinguish this tool from sibling I Ching tools like astroway_iching or astroway_iching_with_changing_lines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no exclusions, and no prerequisites. The only context is a group tag and a cost tag, neither of which tells an agent when this specific coin-throwing method is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_iching_with_changing_linesWith Changing LinesCRead-onlyIdempotentInspect
Primary + transformed hexagrams.
[Group: I Ching (Standalone)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| seed | No | |
| source | No | |
| primary | No | |
| changingLines | No | |
| transformedHexagram | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is covered. The description usefully adds cost (10 credits, Tier 1) and group membership, but does not explain what a 'changing line' produces or how the transformed hexagram is derived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded, with the core output concept stated first and metadata tags after. Nothing is padded, though the brevity shades into under-specification rather than true economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and there are no required parameters. However, for a divination tool with an unexplained seed input, the description leaves the agent without enough conceptual grounding to choose or invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Coverage is only 67%, and the single undocumented parameter is `seed`, which is the semantically critical input for a divination tool (it controls determinism of the cast). The description says nothing about any parameter, so it does not compensate for the gap the schema leaves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment 'Primary + transformed hexagrams' identifies the resource (hexagrams) and the distinguishing feature (a transformed hexagram produced by changing lines), which loosely separates it from astroway_iching. But it never states a verb or action ('cast', 'generate', 'read') and reads as an output label rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling I Ching tools (iching_throw_coins, iching_by_question, iching_daily, plain iching). The only routing signal is the implicit 'changing lines' concept in the name, which the description does not explain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_kabbalah_gematriaGematria ciphersARead-onlyIdempotentInspect
Seven standard ciphers over a Hebrew text: absolute, large, small, ordinal, inclusive, AtBash and AlBam. Vowel points and cantillation are stripped; a final letter counts as its ordinary form in the absolute value and as 500-900 in the large one, and both are returned rather than one being chosen.
[Group: Kabbalah] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | No | |
| ciphers | No | |
| consonants | No | |
| letterCount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description goes further by disclosing input processing behavior (vowel points and cantillation stripped) and output ambiguity handling (final letters returned as both ordinary and 500-900 forms rather than a single choice), which is genuine context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences that carry the cipher list, the preprocessing rule, and the final-letter ambiguity rule with no filler. The trailing group/cost metadata is standard boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. The main parameter's semantics are well covered; the only gap is that the optional compact-mode parameters (`fields`, `precision`) are addressed only in the schema, not the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%; `fields` and `precision` carry their own schema descriptions, while `text` has none. The description compensates by explaining how the Hebrew input is interpreted (stripped vowel points, final-letter handling), adding real semantic meaning to the required parameter beyond the bare string type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise operation (computing seven named ciphers over a Hebrew text) and enumerates the exact ciphers: absolute, large, small, ordinal, inclusive, AtBash and AlBam. This clearly distinguishes it from the Kabbalah siblings (sephiroth, shem_names) and from other esoteric tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope makes the applicable use case inferable, but there is no explicit when-to-use statement, no prerequisites, and no named alternative or exclusion. The agent must infer applicability from the domain description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_kabbalah_sephirothThe ten sephirotARead-onlyIdempotentInspect
The Tree of Life as a reference table: Hebrew, meaning, pillar, triad and the Golden Dawn planetary attribution, grouped by pillar. Nothing here is computed, and the response says so.
[Group: Kabbalah] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| pillars | No | |
| sephiroth | No | |
| attributionSet | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, non-open-world behavior. The description adds genuine additional context beyond that: the data is static and pre-computed, and the response itself signals this, which matters for an agent deciding whether results are deterministic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loading the resource and its contents, followed by bracketed group/cost metadata. Every sentence earns its place with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and annotations cover the safety profile. The description is complete enough for a static reference tool, though a hint tying it to related kabbalah lookups would close the last gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the `fields` and `precision` compact-mode parameters are fully documented in the schema. The description adds no extra syntax or semantics for them, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (the Tree of Life sephirot table) and enumerates its columns (Hebrew, meaning, pillar, triad, Golden Dawn planetary attribution), so an agent knows exactly what it retrieves. It is clearly a distinct static reference versus siblings like gematria or shem_names, though it does not name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The line 'Nothing here is computed' implies this is a pure static lookup to be used when the sephirot reference is needed, but there is no explicit when-to-use or when-not-to-use versus kabbalah_gematria or kabbalah_shem_names. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_kabbalah_shem_namesThe seventy-two names (Shem HaMephorash)BRead-onlyIdempotentInspect
The 72 three-letter names, computed from Exodus 14:19-21 rather than read from a table, each with its five degrees of the zodiac. Filter with ?index=1..72 or ?longitude=0..360.
[Group: Kabbalah] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| names | No | |
| absent | No | |
| derivation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and non-destructive, so the safety profile is covered. The description adds the genuinely useful computation-method detail and the 5-credit cost, but omits any note on result size, pagination or why filtering matters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences front-load the core identity and derivation, then the filter syntax. The bracketed [Group] and [Cost] tags are lightweight metadata rather than prose padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and both real parameters are documented in the schema. The unresolved mismatch between the advertised ?index/?longitude filters and the actual schema leaves an invocation gap for a no-required-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the two real parameters (fields, precision), so the baseline would be 3. However, the description advertises filter parameters ?index and ?longitude that do not exist anywhere in the input schema, which can mislead an agent about how to invoke the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (the 72 three-letter names / Shem HaMephorash), states how it is derived (computed from Exodus 14:19-21, not table lookup) and what it returns (each with its five zodiacal degrees). That clearly separates it from siblings like astroway_kabbalah_gematria and astroway_kabbalah_sephiroth, though the phrasing is a noun phrase rather than an explicit verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a usage hint for filtering (index 1..72 or longitude 0..360) and discloses the credit cost, but never says when to choose this tool over the other Kabbalah or esoteric siblings, and offers no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_lnd_celtic_cross_lenormandLenormand: Celtic CrossCRead-onlyIdempotentInspect
Adapted Celtic Cross with Lenormand cards.
[Group: Tarot: Lenormand] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_tarot_lenormand_draw_celtic_cross_lenormand.)
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely useful cost context (10 credits, Tier 1) and flags that it is a cursor-friendly alias, but does not explain determinism of seed, how allowReversed affects output, or spread ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, with the essential spread/deck phrase first. The bracketed group/cost/alias lines are metadata rather than prose, but nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a 5-parameter card-draw tool the description leaves usage, most parameter meaning, and the effect of the layout setting undocumented. It is not complete enough for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: fields and precision are documented, but seed, question, and allowReversed carry no schema descriptions and the tool description compensates for none of them. Given the sub-50% coverage, the description should have explained these semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete spread (an adapted Celtic Cross) on a specific deck (Lenormand), which lets an agent distinguish it from sibling draws like three_card, line_of_five, or grand_tableau. It is essentially the title restated, so it adds little beyond the name, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick a Celtic Cross over the other Lenormand spreads, nor any prerequisites (e.g. when a 10-card layout is warranted vs. a smaller one). The alias note tells the agent this duplicates another tool but not which to prefer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mayan_calendar_roundCalendar RoundBRead-onlyIdempotentInspect
Combined Tzolkin + Haab: unique date label within the 52-year cycle (18,980 days).
[Group: Mayan Calendars] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| haab | No | |
| tzolkin | No | |
| julianDay | No | |
| description | No | |
| calendarRound | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description does add two genuinely useful behavioral facts — that the label is not unique beyond the 52-year cycle and that the call costs 10 credits (Tier 1) — but says nothing about the returned structure or the assumed calendar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core semantics are front-loaded into a single tight sentence, with group/cost metadata relegated to bracketed tags. Nothing is wasted, though the tags are structured metadata rather than description prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the annotations cover the safety profile. What is still missing is the calendar assumed by the 'date' input (Gregorian vs. other) and any indication of when to prefer this over the standalone tzolkin/haab tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%; the two optional params (fields, precision) are fully documented in the schema, while 'date' is only constrained by a pattern. The description adds no parameter meaning at all, so this sits at the baseline for a mostly-covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computed artifact — a combined Tzolkin + Haab date label — and its scope (unique within the 52-year / 18,980-day cycle). The word 'Combined' implicitly sets it apart from the sibling astroway_mayan_tzolkin and astroway_mayan_haab tools, though it never names them directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisites, and no explicit routing to or away from the individual tzolkin/haab siblings. The only hint is the adjective 'Combined', which is too thin to count as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mayan_compatibilityMayan CompatibilityBRead-onlyIdempotentInspect
Pair compatibility from Tzolkin name + tone alignment plus elemental/directional affinity. Returns 0-100 score.
[Group: Mayan Calendars] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| person1 | Yes | ||
| person2 | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| compatibility | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the scored-output behavior (0-100) and the cost/10-credit tier, which is useful context, but says nothing about input requirements or result semantics beyond the score. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences lead with the mechanism and immediately give the output range, with group and cost metadata on separate lines. No filler, though the description is short enough that it leaves usage and input gaps unaddressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return payload needn't be described, and annotations carry the safety profile. However, for a tool with a nested person1/person2 input object and no usage guidance, the omission of any explanation of how the two dates are consumed leaves the definition only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% and the two required parameters (person1.date, person2.date) have no descriptions in either schema or description. Worse, the description frames inputs as 'Tzolkin name + tone' while the schema actually accepts birth dates, which does nothing to clarify parameter meaning; fields and precision are only documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (pair compatibility) and the computation basis (Tzolkin name + tone alignment plus elemental/directional affinity), plus the output shape (0-100 score). It is clearly a two-person tool, distinguishing it from the single-chart Mayan siblings like tzolkin or haab, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no explicit routing to alternatives such as astroway_mayan_full or astroway_mayan_tzolkin. The pair framing implies a relationship scenario, but the agent gets no condition that selects this tool over the other Mayan tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mayan_dreamspellDreamspell (Argüelles 1990)ARead-onlyIdempotentInspect
Modern synchronometer reinterpretation by José Argüelles. Returns kin (1-260) + tone + seal. Distinct from traditional Tzolkin.
[Group: Mayan Calendars] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| label | No | |
| notes | No | |
| dreamspell | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnly/idempotent/non-destructive/closed-world, so safety is covered. The description adds genuinely useful non-schema context: the credit cost ('10 credits (Tier 1)'), the group tag, and the returned components, which agents need for planning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly-wound sentences, front-loaded with the identity and return shape, followed by the differentiating clause. The bracketed group/cost metadata is compact and useful rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return detail is covered elsewhere, and the description still summarizes the return ('kin + tone + seal'). Combined with annotations and the cost/group tags, this is complete enough for a read-only lookup tool; only the date format is left entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is ~67%: 'fields' and 'precision' are documented in the schema, while 'date' carries only a regex pattern. The description adds no meaning about the date format or the compact-mode params, so it neither compensates for the gap nor extends the schema. Baseline 3 for schema-led params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (the Argüelles Dreamspell reinterpretation) and a specific verb/output ('Returns kin (1-260) + tone + seal'). The line 'Distinct from traditional Tzolkin' explicitly separates it from the astroway_mayan_tzolkin sibling, so an agent can route correctly without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Distinct from traditional Tzolkin' clause tells the agent when to pick this modern variant versus the traditional one, which is the key selection decision among the Mayan siblings. It stops short of an explicit when/when-not rule or naming other siblings like mayan_full or mayan_calendar_round.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mayan_fullFull Mayan DateARead-onlyIdempotentInspect
All four classical components in one call: Long Count + Tzolkin + Haab + Calendar Round + Lord of the Night.
[Group: Mayan Calendars] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| haab | No | |
| tzolkin | No | |
| julianDay | No | |
| longCount | No | |
| lordOfNight | No | |
| calendarRound | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine value by disclosing the cost ('10 credits, Tier 1') and the fact that five results are bundled, but it says nothing about response shape beyond the component list and contains the four-vs-five component inconsistency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the payload description, followed by short bracket-tagged group and cost metadata. Compact and mostly waste-free, though the bracketed metadata lines are not part of the functional description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and annotations cover the safety profile. It adequately conveys what the tool produces and its cost; the only gap is routing guidance against the seven sibling Mayan tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%: `fields` and `precision` carry detailed descriptions while `date` relies only on its YYYY-MM-DD regex pattern. The description adds no parameter guidance at all, so it does not compensate for the undocumented `date` parameter, though the schema largely self-documents the compact-mode options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it returns the bundled Mayan date components, enumerating Long Count, Tzolkin, Haab, Calendar Round and Lord of the Night. This clearly distinguishes it from the single-component siblings (astroway_mayan_long_count, astroway_mayan_tzolkin, etc.), though it never names those siblings explicitly. Minor flaw: it says 'four classical components' while listing five items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in one call' implies this is the aggregate alternative to invoking the individual Mayan component tools, but there is no explicit when-to-use/when-not guidance and no named alternatives. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mayan_haabHaab Civil DayCRead-onlyIdempotentInspect
365-day civil calendar = 18 months × 20 days + 5-day Wayeb. Identifies if date falls in unlucky Wayeb period.
[Group: Mayan Calendars] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| haab | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds genuine context the annotations cannot: the calendar's composition (18×20 + 5) and the cost tier of 10 credits, which is a real behavioral trait. It does not, however, disclose response shape, precision defaults, or whether the result is deterministic across the same date.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight lines front-load the calendar definition and the Wayeb highlight, followed by compact group/cost tags – no filler sentences. It is efficient, though the terseness comes partly from omitting the actionable verb and routing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, for a tool sitting among seven Mayan siblings with no sibling routing and an undescribed required date parameter, the definition leaves meaningful gaps an agent would want closed before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 67%, and the required 'date' parameter carries a regex pattern but no textual description; the description says nothing about accepted date format, timezone handling, or valid ranges. The two documented parameters are generic 'compact mode' options unrelated to this calendar, so the description adds no parameter-level meaning for the tool's actual input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (the 365-day Haab civil calendar) and states one concrete function – detecting whether the date falls in the 5-day Wayeb period – but never phrases the core action (computing the date's Haab position) as a verb. With seven Mayan siblings (mayan_full, mayan_tzolkin, mayan_calendar_round, etc.), it offers no differentiation, so an agent cannot tell which Mayan tool to pick from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives such as mayan_full (which plausibly subsumes the Haab) or mayan_tzolkin. The 'Wayeb' sentence implies one reason to call it but stops short of routing advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mayan_long_countLong CountBRead-onlyIdempotentInspect
Five-place positional notation: baktun.katun.tun.uinal.kin. Days since 4 Ahau 8 Cumku (3114 BC).
[Group: Mayan Calendars] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| longCount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is low, and the description still adds non-trivial operational context: a 10-credit Tier 1 cost and the correlation epoch needed to interpret the returned number. It does not mention validation behavior for malformed dates, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences that lead with the output notation and epoch, followed by compact group/cost tags. No filler, though the opening is a noun phrase rather than an action statement, which slightly weakens front-loading of the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the operation is simple (date in, Long Count out). What is missing is sibling routing and any note on invalid-date handling, which matters given the crowded Mayan tool family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is a middling 67%: 'fields' and 'precision' are well described in the schema, while the required 'date' parameter carries only a pattern and no prose. The description adds nothing about any parameter, so the schema does the work; a baseline 3 is appropriate for this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the specific resource (Mayan Long Count) and even its output shape ('baktun.katun.tun.uinal.kin') and epoch ('Days since 4 Ahau 8 Cumku (3114 BC)'), so an agent knows what this produces. It never names a verb or distinguishes it from the many sibling Mayan tools (tzolkin, haab, calendar_round, full), which is exactly the gap that separates a 4 from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. With seven sibling Mayan-calendar tools in the list, the agent is given no signal about when to pick Long Count over tzolkin, haab, calendar_round, or mayan_full, nor any prerequisites. Only implied usage exists, so this sits at the 'no guidance' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mayan_lord_of_nightLord of the NightBRead-onlyIdempotentInspect
9-day cycle of underworld deities (G1-G9) governing the spiritual influence of each night.
[Group: Mayan Calendars] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lordOfNight | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds a genuinely decision-relevant behavior the annotations do not: the 10-credit Tier 1 cost per call, plus the grouping. It stops short of describing what the response contains, but an output schema exists to cover that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines with the core concept front-loaded and no filler. It is terse rather than padded; the brevity is a virtue here even though the content itself is thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and annotations relieve the description of return-value and safety duties, and the domain framing (G1–G9, spiritual influence per night) is reasonably rich. What remains missing is the operational core — what calling this with a date yields and how it differs from sibling Mayan tools — which is the minimum an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the single REQUIRED parameter, `date`, has only a regex pattern with no description at all — the description never clarifies whether it is a Gregorian calendar date, a birth date, or a Mayan date. With the most important parameter undocumented in both places and 0% of the description devoted to inputs, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific domain concept — the 9-day cycle of underworld deities G1–G9 ruling each night — but never states what the tool actually does with the required date (compute the Lord of the Night for that date? list the cycle?). It also gives no signal to separate it from Mayan siblings like astroway_mayan_tzolkin, astroway_mayan_dreamspell, or astroway_mayan_haab.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no routing to or away from any of the seven other Mayan tools in the sibling list. The only operational cue is the [Group: Mayan Calendars] tag, which is categorization rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mayan_tzolkinTzolkin Day SignBRead-onlyIdempotentInspect
260-day sacred calendar. Returns 1-13 number + 20 day-name + element + direction + keyword.
[Group: Mayan Calendars] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| tzolkin | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, idempotent, non-destructive, closed-world operation, so safety is fully covered. The description adds the cost tier (10 credits) and the shape of the returned values, but since an output schema exists the return enumeration is largely redundant and it discloses nothing about the date-range validity or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines with the core purpose front-loaded, followed by structured group and cost tags. No filler sentences and nothing that needs trimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple date-driven lookup with an output schema present, the description covers the essentials of what it returns and its cost. It is thin on disambiguation from the other Mayan tools and says nothing about the accepted date range, leaving gaps an agent would have to guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: fields and precision are documented in-schema, while date carries only a regex pattern. The description adds nothing about any parameter, and the date format is self-evident from the pattern, so this is baseline adequate rather than additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (the 260-day sacred calendar) and enumerates exactly what it returns (1-13 number, 20 day-name, element, direction, keyword), which is more precise than the title. However, it never distinguishes itself from close siblings like astroway_mayan_haab, astroway_mayan_long_count, astroway_mayan_lord_of_night, or astroway_mayan_full, so an agent cannot tell which Mayan component to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of what inputs it needs (a date), and no mention of when to prefer it over astroway_mayan_full or astroway_mayan_calendar_round. The only implied usage is 'give a date'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_agent_debateMCP Agent DebateCRead-onlyIdempotentInspect
2 personas debate a topic, multi-round transcript.
[Group: MCP Advanced] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| topic | Yes | ||
| agentA | Yes | ||
| agentB | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| rounds | No | ||
| language | No | en | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| transcript | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent and non-destructive behaviour, so the safety bar is low. The description adds genuinely useful operational facts the annotations do not carry: the tool is an MCP Advanced feature costing 100 credits (Tier 4). It still says nothing about how rounds affect runtime or output, or whether chart context is mandatory for a meaningful debate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the core purpose followed by group and cost metadata; there is no filler or repetition. The brevity is somewhat a result of under-specification rather than disciplined editing, but structurally it is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity tool: 8 parameters, a nested chart object with detailed validation rules, and an output schema. The description covers none of that complexity and omits the astrological framing entirely, leaving an agent to infer from the schema alone what inputs matter. Output format is covered by the output schema, so that omission is acceptable, but the rest is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 38% and several parameters (topic, agentA, agentB, rounds, language) carry no schema description, so the description is expected to compensate — and it does not, adding no parameter meaning whatsoever. 'multi-round' only obliquely hints at the rounds parameter, and nothing explains what agentA/agentB strings should contain or how chart is consumed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb and output ('2 personas debate a topic, multi-round transcript'), so an agent knows this produces a debate transcript rather than a single answer. However, it never differentiates itself from near-neighbours like astroway_mcp_ai_chat or astroway_mcp_multi_agent_coordinate, and it omits that the debate is anchored to an astrological chart, which the schema makes clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no statement of what situation calls for a two-persona debate over a single-shot chat, no prerequisites, and no mention of alternatives. The only extra text is group and cost metadata, which is billing context rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_agent_pool_statusMCP Agent Pool StatusCRead-onlyIdempotentInspect
8 personas with specialties.
[Group: MCP Advanced] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | No | |
| personas | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description adds genuinely new context by disclosing a 10-credit Tier 1 cost, but omits what the status payload represents or whether it reflects live pool state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loads the one substantive fact, but the first sentence is a dangling fragment rather than a complete statement of purpose, and the bracket tags read as metadata padding rather than description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and annotations cover safety, so the description's remaining burden is small. It is still thin on what 'pool status' reports and when it should be invoked, leaving a minor gap for a zero-required-parameter status tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both optional compaction parameters (fields, precision) are thoroughly documented in the schema with examples. The description adds nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '8 personas with specialties' is a noun fragment that hints at the returned content but never states what the tool does or what 'pool status' means. It does not distinguish this from siblings like astroway_agent_tools or astroway_mcp_tools_list, which also concern agent/persona inventory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus the many sibling agent/tools-listing tools, and no prerequisites or exclusions. The only guidance offered is the cost tag '[Cost: 10 credits (Tier 1)]', which helps budget decisions but says nothing about selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_ai_chatChart-grounded AI chatARead-onlyInspect
Chat answered from the positions we computed for this birth moment, not from the model's memory of a sun sign. Carries up to 10 turns of history, replies in 21 languages, and takes four voices through persona. Send your own provider key and the turn costs 5 credits instead of the endpoint price.
[Group: AI & MCP] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| history | No | ||
| message | Yes | ||
| persona | No | astrologer | |
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| reply | No | |
| tokens | No | |
| persona | No | |
| language | No | |
| disclaimer | No | |
| duration_ms | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly, non-destructive, openWorld, non-idempotent), and the description usefully adds context beyond that: a 10-turn history cap, 21 supported languages, four persona voices, and a cost behavior where sending your own provider key drops the turn to 5 credits. It stops short of describing failure modes or what the chart object must contain to succeed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core differentiator ('answered from the positions we computed') before secondary facts about history, languages, and pricing. The trailing group/cost tags are metadata rather than prose, so there is minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers the AI-behavioral surface (grounding, history, language, persona, cost). For a 7-parameter tool with nested objects and low schema coverage, it could say more about the chart input contract, but the essentials are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 43%, so the description should compensate, and it partly does by explaining history (10 turns), language (21), and persona (four voices). However, it says nothing about the required `message`, the complex nested `chart`, or the compact-mode `fields`/`precision` parameters, leaving those to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — a chat grounded in computed chart positions rather than the model's sun-sign memory — which is clearly distinguishable from report-generation siblings. It does not explicitly name an alternative among the many AI siblings (explain_aspect, explain_transit, comparison_coach), so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool is but never says when to reach for it versus the other AI siblings or the narrative-report tools. No prerequisites or selection conditions are given; the agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_ai_comparison_coachComparison CoachCRead-onlyInspect
Coach two charts on relationship dynamics.
[Group: AI & MCP] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | uk | |
| question | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| coaching | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare a safe read-only, non-destructive, open-world operation. The description adds useful cost context (100 credits, Tier 4) and group membership, but does not disclose rate limits, auth requirements, or what the AI coach actually returns. With annotations covering safety, this partial extra context merits a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with cost and group metadata placed clearly after the core sentence. It wastes no words, although it is arguably too sparse for a tool of this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with nested chart objects and multiple AI/synastry siblings, the description is far too thin. The output schema covers return values, but the description does not explain what 'coaching' entails or when to select this tool over alternatives, leaving a substantial contextual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the description adds no parameter-level meaning beyond the schema. It says 'two charts' but does not clarify the role of the required question field, language, precision, or fields parameters, nor does it help compensate for the less-documented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (two charts) and domain (relationship dynamics), but the verb 'Coach' is vague about what the tool actually produces. It does not distinguish this from sibling reports like astroway_reports_ai_synastry_narrative, leaving an agent unsure whether this is an interactive coaching session, a report, or something else.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. The description does not mention when this tool should be chosen over similar two-chart tools such as synastry reports or multi-chart context, nor are any preconditions or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_ai_explain_aspectExplain AspectCRead-onlyInspect
Detailed explanation of an aspect between two planets.
[Group: AI & MCP] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| planet1 | Yes | ||
| planet2 | Yes | ||
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| aspectType | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| explanation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description's only added behavioral fact is the cost (100 credits, Tier 4), which is genuinely useful for an agent budgeting calls, but nothing is said about latency, auth, or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the terseness here reflects under-specification rather than efficient communication. The metadata lines consume half the length without adding invocation help.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no prose, but the description leaves key input questions open: how planets must be named, which chart object is required for a natal calculation, and what the aspectType enum means in context. For a 7-parameter tool with a nested birth-data object, this is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 43%, and the undescribed parameters include the three required ones (planet1, planet2, aspectType). The phrase 'between two planets' loosely implies planet1/planet2 but gives no naming convention or accepted values, and aspectType, language, fields and precision get nothing despite the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: an explanation of an aspect between two planets. An agent can tell what it does, though it never contrasts itself with the sibling astroway_mcp_ai_explain_transit, which is the nearest alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as explain_transit or the report tools. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_ai_explain_transitExplain TransitCRead-onlyInspect
Explain a current transit hitting your natal chart.
[Group: AI & MCP] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| aspectType | Yes | ||
| natalPlanet | Yes | ||
| transitDate | Yes | ||
| transitPlanet | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| explanation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false, openWorldHint=true and idempotentHint=false. The description adds genuinely useful operational context by disclosing the cost (100 credits, Tier 4) and the AI grouping, which helps an agent budget. It does not explain the non-idempotent nature of an AI-generated explanation or any latency/rate behavior, so it adds some but not rich value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence carries the core purpose, with the group and cost tags kept as structured metadata rather than prose. It is tight and waste-free, though its brevity edges into under-specification rather than model conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with a nested chart object and five required fields, the description omits routing guidance against several plausible siblings and says nothing about the transit inputs. The presence of an output schema excuses it from describing return values, but the selection and input story is still incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 38% and the five required parameters (chart, transitDate, transitPlanet, natalPlanet, aspectType) carry no schema descriptions at all. The description only obliquely implies a transit/natal pairing and says nothing about expected values or formats for those required fields, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Explain' applied to 'a current transit hitting your natal chart.' An agent can tell what the tool produces. It stops short of distinguishing itself from close siblings such as astroway_mcp_ai_explain_aspect or astroway_reports_ai_transit_narrative, so it is clear but not sibling-differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or named alternative. The sentence implies the context (a transit to your natal chart) but gives no condition that would route an agent here instead of the aspect explainer or the transit narrative report. This matches the 'no guidance' band.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_multi_agent_coordinateMCP Multi-Agent CoordinateCRead-onlyIdempotentInspect
Run N personas in parallel + LLM synthesis.
[Group: MCP Advanced] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| agents | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | en | |
| question | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| synthesis | No | |
| individual | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false), so the description only needs to add context. It does add parallel execution and a 100-credit Tier 4 cost, which is useful. However, it omits latency implications from LLM synthesis, auth requirements, and any detail about valid agent choices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is very short and front-loads the core action before the group and cost tags. No sentence is wasted, though the brevity reflects under-specification rather than thorough contextual completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with a nested chart object, six parameters, required agent and question fields, and many sibling tools. The description explains almost none of that beyond a two-line summary and cost, leaving significant gaps even though an output schema exists for return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, and the description adds no parameter-level meaning for question, agents, chart, fields, language, or precision. In particular, the required 'agents' array and its 2-4 item constraint, as well as how 'chart' relates to the question, are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a high-level verb and resource ('Run N personas in parallel + LLM synthesis') but does not define what a persona is, what is being coordinated, or how this differs from siblings such as astroway_mcp_agent_debate. The [Group] and [Cost] tags are metadata rather than purpose clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. The closest sibling, astroway_mcp_agent_debate, is not mentioned, and the cost tier alone does not tell an agent when this tool should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_multi_chart_contextMCP Multi-Chart ContextCRead-onlyInspect
Compact context for MCP agents working across multiple charts.
[Group: AI & MCP] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| charts | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| intent | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| intent | No | |
| summaries | No | |
| chartCount | No | |
| contextHash | No | |
| summaryString | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered elsewhere. The description adds only the cost tag (10 credits, Tier 1); it says nothing about batch limits, what the compact response excludes, or the idempotentHint=false implication that repeated calls may vary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence plus metadata tags are front-loaded and free of padding, so it is structurally clean. However, the brevity here is under-specification rather than conciseness: the sentence carries almost no callable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but for a tool with an enum-driven intent, a compact-mode fields selector and a 6-item batch cap, the description omits nearly everything an agent needs to choose and configure it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, so the description is expected to compensate — and it does not. The compact-mode controls (fields, precision) and the intent enum are never mentioned in the description, leaving the agent to discover their meaning entirely from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Compact context for MCP agents working across multiple charts" restates the tool name (multi-chart context) without a concrete verb or resource for what is actually produced. It never says it computes natal chart data for multiple subjects, nor does it distinguish this tool from sibling report/chart tools like astroway_reports_natal or astroway_reports_synastry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the implied "working across multiple charts," from which an agent might infer batch multi-subject use. There is no explicit when-to-use, no exclusions, and no mention of when a single-chart or report sibling is preferable, despite ~40 alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_rag_searchMCP RAG SearchCRead-onlyIdempotentInspect
Keyword-tag scoring over chart chunks.
[Group: MCP Advanced] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| topK | No | ||
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| query | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | No | |
| total | No | |
| tokens | No | |
| matches | No | |
| results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as a read-only, idempotent, closed-world, non-destructive operation. The description adds cost and group context, which is useful, but does not disclose any operational behavior such as result format, ranking details, or rate-limit implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is very short and front-loads the core phrase before the bracketed metadata. There is no wasted prose, though the concision contributes to the broader underspecification problem rather than being a structural flaw itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool takes five parameters including a nested chart object, exists among many siblings, and has an output schema. Despite that complexity, the description does not explain selection criteria, query semantics, or how this differs from report-generation tools, leaving it materially incomplete for agent routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is moderate at 60%, and the description adds no parameter meaning at all. It does not clarify what 'query' should contain, how 'topK' affects results, or how 'chart' is used, so key semantics remain dependent on the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Keyword-tag scoring over chart chunks,' which reveals the mechanism and resource type, but it never states the core action as a verb such as 'search' and does not distinguish this tool from the many sibling retrieval/report tools. An agent can infer it is a retrieval tool, but the purpose remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no alternatives to consider. It only supplies group and cost metadata, leaving the agent with no routing signal among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_streamingMCP Streaming ChatBRead-onlyInspect
Server-Sent Events streaming chat completion with optional chart context.
[Group: AI & MCP] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| message | Yes | ||
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, open-world, non-idempotent). The description adds two genuinely useful behavioral facts beyond them: the response arrives as Server-Sent Events, and each call costs 100 credits (Tier 4). It says nothing about auth requirements, rate limits, or what the stream events look like, so it is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that states the core capability, followed by two bracketed metadata tags. Very tight, though the group/cost tags sit after the payload rather than being folded in naturally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with a nested birth-chart object, no output schema, and only 60% schema description coverage, the definition is thin. It does not describe the streamed response shape, streaming lifecycle, or the required message parameter, and gives no guidance on how chart context should be formed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60% and the nested chart object carries extensive inline documentation that the description does not repeat. The 'optional chart context' phrase confirms the chart parameter exists but adds no semantics for message, language, fields, or precision, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: an SSE streaming chat completion, with the chart-context option noted. It is clearer than a bare 'chat', but it never distinguishes itself from sibling astroway_mcp_ai_chat (presumably the non-streaming counterpart) or astroway_mcp_tool_call_stream, so the agent must guess which chat entry point to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. The description notes that chart context is optional but never says when you should supply it or how it changes the answer, and it never mentions the sibling chat tools as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_tool_call_streamMCP Tool-Call StreamCRead-onlyIdempotentInspect
SSE-stream of a tool call envelope.
[Group: MCP Advanced] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | ||
| tool | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | en | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered without the description. The description does add one genuinely useful behavioral fact not in annotations: the 10-credit Tier 1 cost. However, for a streaming tool it says nothing about stream termination, error semantics, or partial delivery, which is the behavior an agent most needs here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the core statement is front-loaded, so nothing is wasted. But the two bracketed metadata lines are boilerplate and the resulting length is too thin for the tool's complexity, so brevity here reads as under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters (including a nested arbitrary 'args' object), no output schema, and an opaque streaming return, the definition is far too thin: it never explains what the streamed envelope contains, how the stream ends, or how 'args' maps to the target tool. An agent must guess at most of the call contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: 'tool' (the sole required parameter) and 'args' carry no description, and 'language' has only an enum. The description supplies zero parameter guidance, so it fails to compensate for the coverage gap on a 5-parameter tool with a nested free-form object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It pairs a specific verb ('SSE-stream') with a resource ('tool call envelope'), which is more than a tautology, but 'tool call envelope' is unexplained jargon and the definition does nothing to separate it from close siblings like astroway_mcp_streaming or astroway_mcp_tools_list. An agent cannot tell from this text which one to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or what alternative exists for the same need. The only context is the group/cost tag, which tells the agent a price but not a use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_tools_listMCP Tools ListCRead-onlyInspect
Auto-generated tool manifest for MCP clients (modelcontextprotocol/2025-03 spec).
[Group: AI & MCP] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| spec | No | |
| notes | No | |
| tools | No | |
| server | No | |
| toolCount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds a spec version and notes that cost is not in the public credit manifest, which is useful behavioral context. However, it does not explain what the manifest contains, how it is scoped, or any other operational behavior beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads its main claim about being an auto-generated manifest. The bracketed group and cost lines add metadata without excessive verbosity. It is efficient, though the bracket metadata is only marginally useful for tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully documented, so return values and parameters do not need explanation in the description. However, the description remains thin on purpose and usage guidance, making it only minimally complete for an agent deciding whether to call this tool. The low complexity of the tool keeps it from being inadequate, but notable gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (fields and precision) are already fully documented in the schema. The description adds no parameter-level meaning beyond what is in the input schema. With complete schema coverage and no additional description detail, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it is an auto-generated tool manifest for MCP clients, which identifies the general resource but uses no action verb and does not explicitly state that it lists available MCP tools. It also does not distinguish this tool from nearby siblings such as astroway_agent_tools or the MCP-related tools. Purpose is therefore implied rather than clearly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage context is the phrase 'for MCP clients,' which implies an audience but gives no guidance on when to call this tool versus alternatives. It does not mention prerequisites, exclusions, or sibling tools. This is the same level as a definition that provides only an implied context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_chaldean_balanceBalance (chaldean)BRead-onlyIdempotentInspect
Calculate the Balance number from initials of each part of the full name. Numerology: Chaldean system.
[Group: Numerology: Chaldean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| balance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety behavior is covered. The description adds a concrete operational fact not present in the annotations: the cost (10 credits, Tier 1), which affects whether an agent should call it. It says nothing else behavioral (e.g., whether the name is validated/normalized, or what happens on invalid dates), so this is a modest addition rather than rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: the core operation comes first, followed by two compact bracketed tags. The 'Numerology: Chaldean system' phrase slightly duplicates the '[Group: Numerology: Chaldean]' tag, but the cost tag earns its space by informing call decisions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-only computation with an output schema, so return values need not be described, and annotations cover the safety profile. However, the required 'date' parameter is undocumented anywhere, and with ~60 sibling numerology tools an agent has no guidance on cross-system or strict-variant selection. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are documented in the schema itself, while the two required params ('name', 'date') have no schema descriptions. The description partially compensates by explaining what 'name' represents (initials of each part of the full name), but 'date' is left entirely unexplained with its YYYY-MM-DD pattern. That is roughly baseline for this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Calculate the Balance number') plus the exact input basis ('from initials of each part of the full name'), which is more specific than most siblings. The '[Group: Numerology: Chaldean]' tag identifies the system, though it does not explicitly distinguish this tool from the many near-identical '*_balance' siblings (kabbalistic, pythagorean, vedic, strict variants).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of when to prefer this over astroway_numerology_kabbalistic_balance, pythagorean, vedic, or the numks/numk balance variants. The agent must infer selection purely from the system name in the title/tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_chaldean_birthdayBirthday (chaldean)BRead-onlyIdempotentInspect
Calculate the Birthday number from the day-of-birth digit. Numerology: Chaldean system.
[Group: Numerology: Chaldean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| birthday | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds the genuinely useful non-structured fact that a call costs 10 credits (Tier 1), but says nothing about the calculation's inputs/outputs beyond that; with an output schema present, that omission is tolerable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with the verb and resource front-loaded, followed by compact metadata tags. No filler; the only quibble is that the metadata lines consume space that could have carried missing parameter context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover the safety profile. However, the required 'name' and 'date' inputs remain opaque, which is a real gap for a tool whose siblings share near-identical signatures and must be told apart.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: only 'fields' and 'precision' are documented in the schema. The two required parameters, 'name' and 'date', are unexplained anywhere, and the phrase 'day-of-birth digit' vaguely gestures at date without clarifying format, timezone, or why a name is mandatory for a birthday-number calculation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('Birthday number') and pins the variant with 'Numerology: Chaldean system', which lets an agent separate it from the kabbalistic/pythagorean/vedic birthday siblings. The only slight ambiguity is 'from the day-of-birth digit', which undersells that the tool also consumes a required name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over the ~60 sibling numerology tools, nor any prerequisites or exclusions. The group/cost metadata is present but it is not usage routing, so the agent must infer selection from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_chaldean_challengeChallenge Cycles (chaldean)BRead-onlyIdempotentInspect
Calculate four Challenge cycles: life-area difficulties to master, derived from birth date components. Numerology: Chaldean system.
[Group: Numerology: Chaldean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| challenges | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the cost (10 credits, Tier 1) and notes the output is derived from birth date components, but says nothing about what the cycles represent computationally or any limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, and the metadata tags are compact. Slightly fragmented into a prose sentence plus bracketed metadata rather than one clean statement, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. For a 4-parameter calculation tool with two undocumented required params, the definition is adequate but leaves the role of `name` and the semantics of the challenge cycles unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: `fields` and `precision` are documented in the schema, but the required `name` and `date` parameters have no descriptions there. The phrase "derived from birth date components" loosely justifies `date`, but nothing explains why `name` is required for a challenge-cycle calculation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Calculate four Challenge cycles") plus the domain (Chaldean numerology, birth date components). It clearly identifies the artifact produced, but does not distinguish itself from the many sibling challenge tools across other systems (kabbalistic, pythagorean, vedic) beyond the system tag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not, or alternative-tool guidance is given. The [Group: Numerology: Chaldean] tag implies system routing, but nothing tells the agent why to pick challenge cycles over pinnacles, life_path, or the equivalent kabbalistic/vedic challenge sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_chaldean_expressionExpression / Destiny (chaldean)BRead-onlyIdempotentInspect
Calculate the Expression (Destiny) number from full birth name letters (all letters, reduced). Numerology: Chaldean system.
[Group: Numerology: Chaldean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| expression | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds a genuinely useful behavioral fact not in the schema: the 10-credit Tier 1 cost. It says nothing about how non-alphabetic characters or accents are handled, which is the main ambiguity for a name-letter calculation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and wastes no words; the calculation rule is stated in one parenthetical. The bracketed Group/Cost lines are boilerplate but carry real information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the cost is disclosed. However, the unexplained required 'date' parameter and the total absence of when-to-use guidance leave gaps for a tool sitting among dozens of near-identical Expression siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: 'fields' and 'precision' are documented in the schema, while 'name' and 'date' are bare. The description hints that 'name' must be the full birth name (all letters counted), which partially compensates, but it never explains why a date is required for an Expression number that is derived from name letters alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Calculate'), a named resource ('Expression (Destiny) number'), and the exact input rule ('full birth name letters, all letters, reduced'). Naming 'Chaldean system' separates it from the pythagorean/kabbalistic/vedic Expression siblings, though it relies on the group tag rather than an explicit contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose Chaldean Expression over, say, astroway_numerology_pythagorean_expression or astroway_numerology_chaldean_soul_urge. The agent is left to infer selection purely from the system name embedded in the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_chaldean_life_pathLife Path Number (chaldean)ARead-onlyIdempotentInspect
Calculate the Life Path number from birth date (year + month + day, reduced). Numerology: Chaldean system.
[Group: Numerology: Chaldean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| lifePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is covered. The description adds genuinely new behavioral context: the reduction method (year+month+day, reduced) and the cost (10 credits, Tier 1), which an agent needs for budget decisions. It still omits any error/edge-case behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus compact bracketed metadata; the purpose is front-loaded and nothing is wasted. The group/cost tags are boilerplate but carry real routing and budget value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and annotations cover safety, so the core is adequate. The unresolved required 'name' parameter and the lack of any when-to-use guidance leave gaps for a tool competing against dozens of near-identical siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: fields and precision are documented in the schema, while date and name are not. The description clarifies that date is a birth date reduced from year/month/day, but the required 'name' parameter is left entirely unexplained and sits awkwardly against the 'from birth date' framing, adding no compensating meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and resource (Life Path number) and identifies the system ('Chaldean system'), which is the key axis separating it from the Kabbalistic/Pythagorean/Vedic life_path siblings. It stops short of explicitly contrasting with those siblings, but the resource+system combination is enough for an agent to place it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied through the 'Numerology: Chaldean' group tag; there is no statement of when to choose this over the many sibling life_path tools or any prerequisites/exclusions. An agent can infer it, but the description does no active routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_chaldean_maturityMaturity (chaldean)ARead-onlyIdempotentInspect
Calculate the Maturity number: sum of Life Path and Expression, activates around age 35. Numerology: Chaldean system.
[Group: Numerology: Chaldean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| maturity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: the 10-credit cost and the domain detail that the number activates around age 35. It does not describe output format, but an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short lines: a front-loaded purpose statement, then group and cost metadata. Every sentence earns its place with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculation tool with an output schema and two required parameters, the description covers the core purpose, system, and cost. It is slightly incomplete because it does not clarify the name/date parameters or provide usage context against the many sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50% (date and name lack descriptions), so the description should compensate. It provides no information about the name, date, or their expected formats, leaving the agent to infer from schema patterns alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Calculate), resource (Maturity number), and system (Chaldean), and defines the concept as the sum of Life Path and Expression. This clearly distinguishes it from sibling maturity tools in other numerological systems (Kabbalistic, Pythagorean, Vedic).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Numerology: Chaldean system' label and group tag imply the tool's context, but the description gives no explicit when-to-use or when-not-to-use guidance, nor does it name alternatives. The 'activates around age 35' note is domain context, not invocation guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_chaldean_personalityPersonality (chaldean)ARead-onlyIdempotentInspect
Calculate the Personality number from the consonants of the full birth name. Numerology: Chaldean system.
[Group: Numerology: Chaldean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds a genuinely useful behavioral fact the annotations do not carry: the cost of 10 credits (Tier 1), which lets an agent budget or warn the user before calling. It does not describe latency, caching, or error behavior, keeping it at 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely tight and front-loaded: the operative sentence comes first, then two bracketed metadata tags. No sentence is wasted, though the group/cost tags are boilerplate rather than tool-specific content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. The description supplies the calculation basis and cost. The remaining gap is the undocumented required parameters (name/date semantics), which is minor for a straightforward single-value calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: the optional 'fields' and 'precision' params are documented in-schema, but the required 'name' and 'date' have no descriptions. The phrase 'full birth name' adds some meaning to the name parameter (suggesting the complete legal/birth name rather than a nickname), but the date parameter is left entirely to the schema pattern. This only partially compensates for the coverage gap, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Calculate the Personality number') and the actual computational basis ('from the consonants of the full birth name'), which meaningfully distinguishes it from sibling soul_urge (vowels) and expression (all letters) tools. It also names the Chaldean system, separating it from the Pythagorean/Kabbalistic/Vedic personality variants. It stops short of explicitly naming those siblings, so it is clear but not maximally differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. An agent gets no help choosing between this, astroway_numerology_kabbalistic_personality, astroway_numerology_pythagorean_personality, and the other Chaldean sub-numbers (life_path, soul_urge, etc.). The [Group] tag is a taxonomy label, not usage instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_chaldean_personal_yearPersonal Year (chaldean)BRead-onlyIdempotentInspect
Calculate the Personal Year number for a given calendar year: the 9-year cycle of personal evolution. Numerology: Chaldean system.
[Group: Numerology: Chaldean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personalYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is covered. The description does add useful non-obvious context: this costs 10 credits (Tier 1), which matters for planning. It says nothing about whether results are cached or how the year interacts with the supplied date.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the calculation front-loaded, followed by compact metadata tags. No filler or repetition of the tool name, though the bracket tags carry little descriptive value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the cost tag supports planning. However, for a 5-parameter tool with 40% schema coverage and many confusingly similar siblings, the definition omits both parameter meaning and tool-selection guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% and the description adds nothing about parameters. It never explains why a 'name' is required alongside a date for a Chaldean personal-year calculation, nor does it disambiguate the 'year' parameter from the date's own year. The compact-mode params (fields, precision) are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Personal Year number for a given calendar year') and names the system ('Chaldean'), which separates it from the Kabbalistic/Pythagorean/Vedic siblings. The added gloss about the 9-year cycle clarifies what the number represents, though it never explicitly contrasts against the near-identical sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no routing to alternatives, despite the sibling list containing ~8 other personal-year tools across systems. Only the group/cost tags provide framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_chaldean_pinnaclesPinnacle Cycles (chaldean)BRead-onlyIdempotentInspect
Calculate four Pinnacle cycles with their age boundaries: life chapters of opportunity. Numerology: Chaldean system.
[Group: Numerology: Chaldean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| pinnacles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds a genuinely useful non-schema fact — the 10-credit Tier 1 cost — but says nothing about output shape, determinism of age boundaries, or any prerequisite beyond name and date.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences with no filler; the grouped metadata lines are compact. Nothing is padded, though the description is arguably under-informative rather than over-long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. What is missing for a 4-parameter tool sitting among dozens of numerology siblings is any usage context or parameter-format detail, leaving the definition only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, and the two undescribed parameters are the required ones (name, date). The description adds no format guidance, so an agent gets no help on the name-length or YYYY-MM-DD date constraints beyond what the raw pattern shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate four Pinnacle cycles with their age boundaries') and scopes it to the Chaldean system via the group tag, which is enough to separate it from the Kabbalistic/Pythagorean/Vedic pinnacle siblings. It is clear but relies on the name and group marker rather than prose for that differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. The agent is left to infer from the group tag that this is the Chaldean variant of the pinnacle calculation, and nothing tells it how this differs in purpose from challenge, maturity, or life_path calls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_chaldean_soul_urgeSoul Urge / Heart's Desire (chaldean)ARead-onlyIdempotentInspect
Calculate the Soul Urge number from the vowels of the full birth name. Numerology: Chaldean system.
[Group: Numerology: Chaldean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| soulUrge | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds cost context not present in any structured field: 10 credits at Tier 1, which is genuinely useful for an agent deciding whether to invoke. It does not describe the calculation's determinism or output shape, but those are largely covered elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus bracketed metadata, front-loaded with the core action and derivation method. No filler, no restatement of the tool name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, the required date parameter is a genuine puzzle for a vowel-based name calculation and is left unaddressed, and the expected name format (full birth name including middle names?) is only hinted at. Adequate but with a clear gap on the second required input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: fields and precision are documented in the schema, while name and date are not. The description clarifies that name means the full birth name (useful for the vowel-extraction logic), but says nothing about why a required date is needed for a name-based calculation, leaving that parameter unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate), a precise resource (Soul Urge number), and the derivation method (vowels of the full birth name) plus the system (Chaldean). With dozens of sibling numerology tools including pythagorean_soul_urge and chaldean_life_path, the system+number pairing is exactly what distinguishes this tool from the alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Naming the Chaldean system implicitly routes among the five numerology schools, but there is no explicit statement of when to prefer Chaldean over Pythagorean, Kabbalistic, or Vedic variants, nor any prerequisite or exclusion. Usage is inferable from the system label rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_balanceBalance (kabbalistic)BRead-onlyIdempotentInspect
Calculate the Balance number from initials of each part of the full name. Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| balance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description needn't cover that. It adds two useful non-annotation facts: the computation method (initials of each name part) and the credit cost of 10. It does not explain the required 'date' input's role or any failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the operative sentence, followed by the system qualifier and short metadata tags. No wasted prose, though the bracketed group tag largely restates the title's parenthetical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Wait - the output schema exists, so return values needn't be explained, and annotations cover the safety profile. However the required date parameter is undocumented and the strict-vs-non-strict sibling distinction is absent, which matters given the sibling set. This is adequate but not fully complete. Score 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: fields and precision are documented in the schema, but name and date are not. The description partially compensates by explaining that the name is consumed via initials of each part, yet the required date parameter remains unexplained in both schema and description. Baseline 3 fits given the mixed coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Calculate), a specific resource (the Balance number), and the exact input derivation (initials of each part of the full name), plus the system (Kabbalistic phonetic). It is clear on its own but does not distinguish itself from the very close sibling astroway_numerology_kabbalistic_strict_balance, which an agent would need to choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling balance tools (chaldean, pythagorean, vedic, numks, and the 'strict' kabbalistic variant). The group and cost tags give context but no selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_birthdayBirthday (kabbalistic)BRead-onlyIdempotentInspect
Calculate the Birthday number from the day-of-birth digit. Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| birthday | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, closed-world and non-destructive behavior, so the safety profile is fully covered. The description adds genuinely useful context the annotations lack, namely the pricing metadata ("10 credits (Tier 1)"), but says nothing about how the number is derived or what errors occur for malformed input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the core action, then the group and cost tags. Nothing reads as padding, though the bracketed metadata is terse rather than explanatory.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations cover the safety profile. The remaining deficits are the unexplained `name` parameter and the missing distinction from the strict Kabbalistic birthday sibling, which leaves the definition only marginally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: `fields` and `precision` are documented, but `date` and `name` – both required – carry no descriptions. The phrase "from the day-of-birth digit" hints at date usage but the description never explains why `name` is required for a day-of-birth calculation, leaving the highest-value gap unfilled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Calculate the Birthday number") plus the system ("Kabbalistic (phonetic)"), which separates it from the Chaldean, Pythagorean and Vedic birthday siblings. It does not, however, distinguish itself from astroway_numerology_kabbalistic_strict_birthday, so an agent still has to guess between the two.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance. The system label only weakly implies the selection criterion, and the near-identical strict variant in the sibling list is never mentioned, leaving the agent to infer which birthday tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_challengeChallenge Cycles (kabbalistic)BRead-onlyIdempotentInspect
Calculate four Challenge cycles: life-area difficulties to master, derived from birth date components. Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| challenges | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety behavior is covered. The description adds genuinely useful non-structured facts — the credit cost (10 credits, Tier 1) and that results derive from birth-date components — but discloses nothing about the output shape or the cost/rounding behavior of the compact-mode parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences plus metadata lines; the core purpose is front-loaded and there is little waste. The bracketed [Group]/[Cost] lines are useful rather than noise, though the description is terse enough that it reads more like a label than a guide.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and cost plus safe-read annotations are disclosed. However, for a tool embedded in a dense family of near-identical siblings, the absence of any disambiguation against kabbalistic_strict_challenge or the other systems leaves an important gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: 'fields' and 'precision' are documented in the schema itself, while 'name' and 'date' are not. The description hints that inputs come from birth date components and that name matters for the phonetic system, adding marginal value, but it does not compensate for the two undocumented required parameters. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Calculate four Challenge cycles') with a scoping gloss ('life-area difficulties to master, derived from birth date components') and names the system ('Kabbalistic (phonetic)'). It distinguishes itself from the Chaldean/Pythagorean/Vedic challenge siblings via the system label, but says nothing about how it differs from the near-identical astroway_numerology_kabbalistic_strict_challenge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites, and no statement of when to prefer this over the strict variant or the other numerology systems. The group tag '[Numerology: Kabbalistic (phonetic)]' implies context but leaves the agent to infer selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_expressionExpression / Destiny (kabbalistic)BRead-onlyIdempotentInspect
Calculate the Expression (Destiny) number from full birth name letters (all letters, reduced). Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| expression | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely non-structured context: the credit cost (10 credits, Tier 1) and the group classification, which matters for budgeting calls across a large tool surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus bracketed metadata; the core purpose is front-loaded with zero filler. Slightly clipped, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover the safety profile. The remaining gap is disambiguation from the strict/other-system Expression siblings in this very large tool family, which the description does not address.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: `fields` and `precision` are documented in the schema, while `name` and `date` are not. The phrase "full birth name letters (all letters, reduced)" usefully disambiguates that `name` must be the complete birth name rather than a nickname, but the required `date` parameter is left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Calculate the Expression (Destiny) number") and pins the system as Kabbalistic (phonetic), plus clarifies the input basis ("full birth name letters, all letters, reduced"). However it never distinguishes itself from the near-identical sibling astroway_numerology_kabbalistic_strict_expression, which an agent would need to choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. With five sibling Expression variants (chaldean, pythagorean, vedic, kabbalistic_strict, numks) an agent gets no routing signal beyond the name itself. Usage is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_life_pathLife Path Number (kabbalistic)BRead-onlyIdempotentInspect
Calculate the Life Path number from birth date (year + month + day, reduced). Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| lifePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false, so the safety profile is covered. The description usefully adds cost information ('10 credits (Tier 1)') and the system variant, but says nothing about why a name is required for a Life Path calculation or about latency/auth needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core operation in the first clause, with group and cost metadata relegated to bracketed lines. No wasted prose, though the metered-cost block is boilerplate rather than tool-specific value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. The gaps are the unexplained required 'name' parameter and the absence of any disambiguation from the strict Kabbalistic twin, which an agent needs to pick correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: 'fields' and 'precision' are documented, while 'date' and 'name' are not. The description partially compensates by explaining the date is reduced year+month+day, but the required 'name' parameter is left entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Life Path number') plus the input derivation rule (year+month+day, reduced) and the system (Kabbalistic/phonetic). This distinguishes it from the Pythagorean, Vedic and Chaldean life_path siblings, though it does not distinguish it from the near-identical astroway_numerology_kabbalistic_strict_life_path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to choose this over the many sibling life_path variants (Pythagorean, Vedic, Chaldean, or the 'strict' Kabbalistic form). Usage is only inferable from the tool name and group label; there are no alternatives or exclusions named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_maturityMaturity (kabbalistic)ARead-onlyIdempotentInspect
Calculate the Maturity number: sum of Life Path and Expression, activates around age 35. Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| maturity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, and closed-world behavior, so the description is not burdened with safety. It adds the 10-credit cost and the domain detail of activation around age 35, which is useful, but says nothing about auth requirements, error behavior, or calculation prerequisites beyond what annotations and output schema cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences state the purpose and system; the group and cost tags follow in compact brackets. No sentence is wasted, and the most important routing information comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, annotations covering safety, and a defined calculation, an agent has enough to invoke the tool selectively. The definition still lacks explicit routing against the strict Kabbalistic variant and does not clarify the expected name form, but these are minor gaps against the structured data already provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (fields and precision documented; name and date not). The description's mention of summing Life Path and Expression implies that a birth date and name are the required inputs, but it does not clarify name conventions (e.g., full birth name) or date format beyond the schema pattern. Baseline 3 is appropriate for this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (calculate), resource (Maturity number), and system (Kabbalistic phonetic), and explains the formula (sum of Life Path and Expression). It distinguishes from other numerology systems by naming Kabbalistic, but never clarifies how it differs from the sibling kabbalistic_strict_maturity, leaving one sibling pair ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the system and calculation stated, but there is no explicit when-to-use guidance, no exclusions, and no mention of alternatives such as the strict or other-system Maturity variants. An agent can infer context from the name and group tag, but nothing more is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_personalityPersonality (kabbalistic)BRead-onlyIdempotentInspect
Calculate the Personality number from the consonants of the full birth name. Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine context beyond that: the computation method (consonants of the full birth name) and the cost (10 credits, Tier 1). It says nothing about authentication, rate limits, or what a failure looks like, so it is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One substantive sentence plus two bracketed metadata lines; the core computation is front-loaded and there is no filler. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and cost is disclosed. The remaining gaps are minor for a low-complexity calculation tool: the purpose of the required date parameter and an explicit contrast with the kabbalistic_strict sibling are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: the two optional parameters (fields, precision) are documented in the schema, while name and date carry no descriptions. The description partially compensates by clarifying that name means the 'full birth name', which is meaningful, but it never explains why a birth date is required for a name-derived number, leaving that parameter opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate), a specific derived quantity (Personality number), the derivation rule (from the consonants of the full birth name), and the system (Kabbalistic/phonetic). This separates it from the chaldean, pythagorean and vedic siblings, though it never explicitly distinguishes itself from the near-identical kabbalistic_strict variant other than by the word 'phonetic'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this over the many sibling numerology systems (chaldean, pythagorean, vedic, strict), nor any prerequisite guidance. The only context offered is group/cost metadata, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_personal_yearPersonal Year (kabbalistic)BRead-onlyIdempotentInspect
Calculate the Personal Year number for a given calendar year: the 9-year cycle of personal evolution. Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personalYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, closed world), so the bar is lower. The description usefully adds cost information ('10 credits (Tier 1)') and the group tag, which annotations do not carry, but says nothing about the calculation's behavior, required inputs, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two content sentences plus bracketed metadata, front-loaded with the verb and resource. The bracket lines are boilerplate but short; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, but the description leaves the three required, undescribed inputs ambiguous — notably the pronunciation-sensitive name input that defines this system — and offers no guidance for choosing between the many personal_year siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: the three required parameters (name, date, year) carry no schema descriptions, and the description does not compensate. For a phonetic Kabbalistic system it never explains that 'name' must be the full birth name as pronounced, nor clarifies the date/year interaction, leaving the most consequential inputs undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Personal Year number for a given calendar year') and pins the system variant as 'Kabbalistic (phonetic)', which is the key discriminator among the many personal_year siblings (chaldean, pythagorean, vedic, strict, numk/numks/nump). It does not, however, explain how it differs from the adjacent 'kabbalistic_strict_personal_year' or the abbreviated numk/numks variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement and no sibling is named as an alternative. The system label implicitly narrows the choice, but with roughly ten personal_year tools in the list an agent gets no routing help beyond the system name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_pinnaclesPinnacle Cycles (kabbalistic)BRead-onlyIdempotentInspect
Calculate four Pinnacle cycles with their age boundaries: life chapters of opportunity. Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| pinnacles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so safety is covered. The description adds that the output is four cycles with age boundaries and discloses a cost (10 credits, Tier 1), which is genuinely useful context not present in the structured fields, but says nothing about the phonetic name requirement or the response shape beyond the cycle count.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core action before the group/cost metadata lines. Every sentence is short and earns its place, though the bracketed metadata adds little for tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, for a cost-bearing tool sitting in a dense family of near-identical numerology tools, the absence of usage differentiation and required-parameter semantics leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: the two optional params (fields, precision) are documented, but the two required params (name, date) have no schema description. The description does not compensate by explaining why a name is needed for a phonetic system or the expected date format, leaving the most important inputs unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Calculate four Pinnacle cycles with their age boundaries') and names the system ('Kabbalistic (phonetic)'), which distinguishes it from the Chaldean, Pythagorean and Vedic pinnacle siblings. It does not, however, separate itself from close relatives like astroway_numerology_kabbalistic_strict_pinnacles or astroway_numks_pinnacles, which share the same method family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over the many sibling pinnacle and numerology tools, nor any stated prerequisites beyond the required name/date. The agent must infer selection purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_soul_urgeSoul Urge / Heart's Desire (kabbalistic)BRead-onlyIdempotentInspect
Calculate the Soul Urge number from the vowels of the full birth name. Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| soulUrge | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered without prose. The description adds genuinely new context: the 10-credit Tier 1 cost and the fact that the result derives deterministically from name vowels. It omits nothing critical, but does not go beyond cost into, e.g., response characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence front-loads the core operation, with group and cost metadata appended in bracketed tags. No filler. Slightly more than a pure single-sentence definition, but every element (including cost) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. The two required inputs are the only substantive gap — `date` is never motivated. For a simple deterministic calculator, this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: `fields` and `precision` are documented in the schema, while `name` and `date` carry no description. The description usefully clarifies that `name` means the full birth name (not a nickname), which matters for vowel extraction, but leaves `date` entirely unexplained even though it is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate), resource (Soul Urge number), and method (from the vowels of the full birth name) within a named system (Kabbalistic/phonetic). This clearly separates it from the pythagorean, chaldean, and vedic soul_urge siblings. It does not, however, differentiate itself from astroway_numerology_kabbalistic_strict_soul_urge, which shares the same group tag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies what input is needed (the full birth name) but gives no when-to-use guidance, no prerequisites, and never names an alternative or the condition that would select one. For a family of ~70 numerology siblings, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_strict_balanceBalance (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate the Balance number from initials of each part of the full name. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| balance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds the cost (10 credits, Tier 1) and system variant, which is useful context, but says nothing about which value is returned or how the strict method differs. With annotations carrying the heavy load, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus tag lines; front-loaded with the verb and resource and zero padding. The bracket metadata (group, cost) is arguably redundant with sibling/tool metadata but is compact and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values need not be explained, and annotations cover safety, leaving the description to cover purpose, system and cost, which it does. It falls short only in not clarifying how the strict Kabbalistic method differs from the non-strict sibling or what the required 'date' is used for.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are documented in the schema, while 'name' and 'date' have no descriptions anywhere. The description explains that the calculation derives from initials of name parts, which gives mild semantic context for 'name', but 'date' is unexplained and no format or constraint details are added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('Balance number from initials of each part of the full name') and names the system ('Kabbalistic (Mathers strict)'). It distinguishes the calculation method from the Chaldean/Pythagorean/Vedic siblings via the group tag, though it does not explicitly contrast with astroway_numerology_kabbalistic_balance or the numks variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives despite a large sibling set of near-identical Balance tools across systems. The cost line implies a paid call but does not tell the agent when to prefer this over the non-strict Kabbalistic variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_strict_birthdayBirthday (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate the Birthday number from the day-of-birth digit. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| birthday | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description usefully adds the credit cost and tier, but it does not explain why the required 'name' parameter is needed for what it describes as a day-of-birth digit calculation, leaving an unexplained requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence plus two metadata tags, front-loaded with the action and the system. No filler, though the group/cost tags are template boilerplate rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and rich annotations mean return values and safety need not be restated, and cost is covered. What is missing is any disambiguation from the many near-identical Birthday siblings and any explanation of the mandatory `name` input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: `fields` and `precision` are documented in the schema, but `name` and `date` are not. The description only vaguely gestures at the day ('day-of-birth digit') and says nothing about the role or constraints of the required `name`, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Birthday number') and pins the system ('Kabbalistic (Mathers strict)'), which is exactly what distinguishes it from the numerous chaldean/pythagorean/vedic/kabbalistic-non-strict Birthday siblings. It stops short of explicitly contrasting with the closest sibling astroway_numerology_kabbalistic_birthday, but the group tag carries most of that load.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and system label, and the cost tag tells the agent this consumes 10 credits (Tier 1), which is real decision-relevant context. There is no explicit when-to-use or when-to-prefer-an-alternative statement among the ~10 parallel Birthday tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_strict_challengeChallenge Cycles (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate four Challenge cycles: life-area difficulties to master, derived from birth date components. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| challenges | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds genuinely useful operational context not in the annotations: a cost of 10 credits (Tier 1) and the fact that output is derived from birth date components. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The functional sentence is front-loaded and free of waste, with group and cost metadata tucked after it. Two bracketed metadata lines add little beyond what an agent could get from the server's cost/group listing, but they are short and non-intrusive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations carry the safety profile. Still missing for an agent to call confidently: when this tool is preferred over its near-identical siblings and the role of the required name parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: fields and precision are documented, but the two required parameters (name, date) have no schema descriptions. The description partially compensates by saying the cycles are "derived from birth date components," implying date's role, but it never explains why a name is required for a date-derived calculation. Baseline 3 for partial coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ("Calculate") plus resource ("four Challenge cycles") with a plain-language gloss of what a Challenge cycle is. The "Kabbalistic (Mathers strict) system" qualifier cleanly separates it from the plain kabbalistic, Chaldean, Pythagorean and Vedic challenge siblings, and "Challenge" separates it from the strict pinnacles/balance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Nothing states when to choose this over astroway_numerology_kabbalistic_challenge (non-strict) or the other system variants; the system name in the purpose line only weakly implies selection. No prerequisites, no exclusions, no alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_strict_expressionExpression / Destiny (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate the Expression (Destiny) number from full birth name letters (all letters, reduced). Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| expression | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is covered. The description adds genuinely useful operational context in the credit cost and tier, but says nothing about determinism, error behavior, or what the computation does when the name contains non-letter characters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the verb+resource front-loaded, followed by the system qualifier. The bracketed group and cost lines are compact metadata rather than prose padding, so little is wasted, though the cost/group lines arguably belong in structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The remaining gaps are the unexplained required 'date' parameter and the absence of any distinction from the non-strict Kabbalistic sibling, but for a single-purpose calculation tool the description is close to sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are documented in-schema, while 'name' and 'date' are not. The description partially compensates by clarifying that 'name' means the full birth name with all letters counted, but it never explains why a 'date' is required for an Expression calculation or how it is used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and output (calculate the Expression/Destiny number) plus the resource it derives from (full birth name letters) and the system (Kabbalistic, Mathers strict). It implicitly separates Expression from soul_urge/personality via 'all letters, reduced', but never contrasts itself with the non-strict sibling astroway_numerology_kabbalistic_expression, which shares almost the same name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative selection guidance. The system label ('Kabbalistic (Mathers strict)') implies the agent should pick this only for strict Mathers calculations, but that inference is left entirely to the caller despite several near-identical siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_strict_life_pathLife Path Number (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate the Life Path number from birth date (year + month + day, reduced). Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| lifePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description usefully adds pricing and tier ('10 credits (Tier 1)'), which is real context the annotations don't carry, but it never explains why a required 'name' parameter exists for a calculation it says is derived purely from birth date. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the calculation and the system, followed by compact bracketed metadata for group and cost. No filler or repetition; the metadata lines are the only slightly mechanical element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the annotations are rich, so return-value and safety details are covered elsewhere. Still missing: the strict-vs-non-strict distinction against the closest sibling and any rationale for the required name input, both of which an agent needs to pick and call this tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: 'fields' and 'precision' are documented in the schema, while 'date' and 'name' are bare. The description clarifies date semantics ('year + month + day, reduced') but the required 'name' parameter — genuinely non-obvious for a Life Path number — is left completely unexplained, which is the biggest semantic gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('Calculate the Life Path number from birth date') and pins the exact system variant ('Kabbalistic (Mathers strict)'), which is what separates it from the many sibling life_path tools across Pythagoreans, Chaldean, Vedic and plain Kabbalistic. It stops short of explaining what 'strict' changes versus astroway_numerology_kabbalistic_life_path, so the sibling differentiation is named but not justified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
System and reduction method are stated, which implies when this variant is appropriate, but there is no explicit when-to-use/when-not guidance and no mention of the near-identical non-strict sibling. The agent must infer the selection criteria from the group label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_strict_maturityMaturity (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate the Maturity number: sum of Life Path and Expression, activates around age 35. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| maturity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description adds useful context beyond that: the cost (10 credits, Tier 1), the group, the calculation formula, and the age activation window.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is tightly front-loaded: first the calculation formula, then the system, then compact metadata tags for group and cost. Every sentence and tag earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema covering return values and annotations covering safety, the description only needs to add what the agent must know to call it. It supplies formula, system, and cost, but omits any guidance on choosing the strict variant over the many sibling maturity tools or on required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes only the optional 'fields' and 'precision' parameters; the required 'name' and 'date' have no descriptions. The tool description adds no meaning for any parameter, so half the input remains unexplained outside of basic type and pattern constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Calculate) and resource (Maturity number) and identifies the exact system (Kabbalistic Mathers strict). It does not explicitly differentiate from the non-strict Kabbalistic sibling or other maturity tools, leaving that to name and title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus other numerology systems or maturity calculations. The phrase 'activates around age 35' describes the number itself, not when the tool should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_strict_personalityPersonality (kabbalistic-strict)ARead-onlyIdempotentInspect
Calculate the Personality number from the consonants of the full birth name. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is fully covered without the description. The description adds a cost cue ('10 credits (Tier 1)') and the group membership, which is real value comparable to a rate-limit note, but nothing about computation semantics beyond the consonants rule.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences plus bracketed metadata; the calculation and the system variant are front-loaded with no filler. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry safety. The description supplies the calculation basis and the exact system variant, leaving only explicit routing guidance as a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, and the two undocumented properties (name, date) are self-evident in meaning — date even carries a regex pattern. The description adds no format or constraint detail beyond the schema; 'full birth name' is the only inferred input hint. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Personality number from the consonants of the full birth name') and pins the exact system variant ('Kabbalistic (Mathers strict)'), which is precisely what distinguishes it from the chaldean, pythagorean, vedic and non-strict kabbalistic personality siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The system label implies when this tool is appropriate versus its siblings, but there is no explicit when-to-use statement, no prerequisites, and no exclusions. Usage is inferable from the naming convention rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_strict_personal_yearPersonal Year (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate the Personal Year number for a given calendar year: the 9-year cycle of personal evolution. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personalYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds genuinely new operational context: cost (10 credits, Tier 1) and grouping, plus a note that the result is the 9-year personal-evolution cycle. No rate limits or auth notes, but the credit price is real value an agent needs for planning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence front-loads the purpose, and the bracketed metadata lines are cheap. The group/cost boilerplate is formulaic but not wasteful for an agent that must budget credits.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations cover the safety profile. The remaining gap is the undocumented required inputs, which for a name-sensitive numerology calculation is a meaningful omission for an otherwise simple single-purpose tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% – only `fields` and `precision` are documented, while the three required params (`name`, `date`, `year`) have no descriptions. The description gestures at 'a given calendar year' but never clarifies whether `name` is a birth name at birth or a current name, which materially changes the numerology result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Personal Year number for a given calendar year') and adds a system qualifier ('Kabbalistic (Mathers strict)') that separates it from the chaldean/pythagorean/vedic siblings. It does not, however, explain how 'strict' differs from the plain kabbalistic sibling, which is the nearest neighbor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites (name format, birth date vs. current name), and no explicit routing to alternatives despite ~70 sibling tools that compute the same personal-year quantity in other systems. The only implied usage is 'you have a name and a year'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_strict_pinnaclesPinnacle Cycles (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate four Pinnacle cycles with their age boundaries: life chapters of opportunity. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| pinnacles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed world), so the bar is lower. The description adds materially useful context the annotations lack: the cost (10 credits, Tier 1) and that the output is four cycles with age boundaries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded lines with no filler; the group and cost tags are compact and useful. Slightly fragmented into bracketed metadata rather than prose, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations plus cost line cover the safety/price envelope. The remaining gap is the absence of any input guidance for a name-based numerological calculation, which is the one thing an agent would most need beyond the bare schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters at all. With only 50% schema description coverage, the two required parameters (name, date) carry no explanation anywhere — the agent gets no help on whose name to supply or that last names/formatting matter for a Kabbalistic calculation. The description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate four Pinnacle cycles with their age boundaries') and pins the computation system ('Kabbalistic (Mathers strict) system'), which distinguishes it from the Chaldean/Pythagorean/Vedic and non-strict Kabbalistic pinnacle siblings. It does not, however, explain how the strict variant differs from astroway_numerology_kabbalistic_pinnacles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given. The system label implies the selection context, but the description never tells the agent to prefer this over the standard Kabbalistic or other pinnacle tools when the user specifies the Mathers method.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_kabbalistic_strict_soul_urgeSoul Urge / Heart's Desire (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate the Soul Urge number from the vowels of the full birth name. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| soulUrge | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description usefully adds the cost (10 credits, Tier 1), which annotations do not carry, but says nothing about computation behavior or inputs beyond the vowel basis.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences carry the core purpose immediately, followed by compact bracketed group/cost metadata. No filler, appropriately sized for the tool's scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations cover safety. However, the required date parameter is unexplained for what is otherwise a name-based vowel calculation, and the strict-vs-non-strict distinction is left implicit, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: fields and precision are documented in the schema, but name and date are not. The description adds meaning to name ('full birth name', vowels only), but leaves the required date parameter unexplained, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate), resource (Soul Urge number), input basis (vowels of the full birth name), and the exact system variant (Kabbalistic, Mathers strict). This clearly distinguishes it from the chaldean/pythagorean/vedic siblings. It does not explain what separates 'strict' from the plain kabbalistic sibling, but the naming is precise enough for selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description identifies the system but offers no when-to-use guidance or explicit alternatives among the dozens of numerology siblings (e.g., when to pick strict over non-strict kabbalistic). Usage is only implied by the system label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_pythagorean_balanceBalance (pythagorean)BRead-onlyIdempotentInspect
Calculate the Balance number from initials of each part of the full name. Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| balance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description does add one trait beyond the annotations – the '[Cost: 10 credits (Tier 1)]' billing note – but says nothing about latency, result determinism, or input failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus bracketed metadata, front-loaded with the core computation and with zero filler. Efficient, though the group/cost tags are boilerplate rather than explanatory content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations cover safety. However, the unexplained required `date` parameter and the absence of any routing guidance among the many system/variant siblings leave real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, so the description must compensate, and it does not. `name` is weakly implied by 'initials of each part of the full name', but the required `date` parameter is never explained at all – an agent cannot tell why a Balance calculation needs a birth date.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (calculate the Balance number) and even the computation rule (from initials of each part of the full name), plus the '[Group: Numerology: Pythagorean]' tag that separates it from the Chaldean/Kabbalistic/Vedic balance siblings. It stops short of naming an alternative explicitly, but the system tag does the differentiation work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of when this Balance reading is preferred over the other systems' Balance tools, and no prerequisites. With ~70 near-identical siblings, an agent gets no routing help beyond the group tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_pythagorean_birthdayBirthday (pythagorean)BRead-onlyIdempotentInspect
Calculate the Birthday number from the day-of-birth digit. Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| birthday | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description does add non-structured value by disclosing cost (10 credits, Tier 1), which matters for agent budgeting. It says nothing about output shape, but an output schema exists, so that gap is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of purpose plus compact bracketed metadata; nothing is padded or redundant. Structure is front-loaded with the operative verb and resource, and the cost/group tags scan cleanly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations cover the safety profile. However, for a tool with an unexplained required 'name' parameter and heavy sibling overlap, the description omits both parameter meaning and selection guidance, leaving real gaps for an agent deciding between 60+ numerology calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: the two required parameters (name, date) carry no schema descriptions at all, only pattern/length constraints. The phrase 'from the day-of-birth digit' loosely maps to date, but it never explains what 'name' should contain (full birth name? any name?) or why a Birthday calculation needs a name at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and resource (Birthday number) and pins the system (Pythagorean), which is the main axis distinguishing it from the Chaldean/Kabbalistic/Vedic and numk/numks/numps siblings. It does not explicitly contrast itself with those alternatives, but the name+description pairing is unambiguous about what computation it performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives despite ~60 sibling numerology variants. The only scoping signal is the [Group: Numerology: Pythagorean] tag, which identifies family but not conditions for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_pythagorean_challengeChallenge Cycles (pythagorean)BRead-onlyIdempotentInspect
Calculate four Challenge cycles: life-area difficulties to master, derived from birth date components. Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| challenges | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds cost ('10 credits, Tier 1'), which is genuinely useful for an agent budgeting calls, but says nothing about the four cycles' semantics or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core verb+resource, then metadata on its own bracketed lines. Compact and no wasted prose, though the group/cost lines are boilerplate rather than task guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and cost is disclosed. Still missing the one thing this definition needs most: why an agent would pick Pythagorean over the many sibling challenge variants, and what a 'Challenge cycle' represents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' carry descriptions, while 'name' and 'date' are only constrained by pattern/length. The description mentions 'birth date components' but adds no format or role detail beyond what the schema already encodes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate four Challenge cycles') and names the derivation source and system ('Pythagorean'). The system label distinguishes it from the Chaldean/Kabbalistic/Vedic challenge siblings, though it never explicitly says 'not those'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named, despite ~10 near-identical sibling challenge tools across systems. The agent must infer selection purely from the trailing system tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_pythagorean_expressionExpression / Destiny (pythagorean)BRead-onlyIdempotentInspect
Calculate the Expression (Destiny) number from full birth name letters (all letters, reduced). Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| expression | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful context the annotations lack: a credit cost (10 credits, Tier 1) and the reduction rule for the input letters. It does not contradict the annotations, but it says nothing about output shape or latency beyond cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the calculation rule front-loaded and the metadata brackets clearly separated. Nothing is padded, though the group/cost tags are administrative rather than descriptive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the read-only annotations cover behavior. What is missing is any justification for the required date parameter and any indication of how this result differs from the other expression-number variants, which matters given ~80 siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: fields and precision are documented in the schema, while name and date are bare. The description compensates partially by clarifying that name means the full birth name with all letters reduced, but it never explains why the required date parameter is needed for an expression calculation, leaving a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Calculate) and resource (Expression/Destiny number) and states the input scope precisely: 'full birth name letters (all letters, reduced)'. The 'Pythagorean system' tag distinguishes it from the many Chaldean, Kabbalistic, and Vedic siblings, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no routing to alternatives such as astroway_numerology_chaldean_expression or astroway_numerology_vedic_expression. The system name implies the domain, but the agent must infer selection entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_pythagorean_life_pathLife Path Number (pythagorean)BRead-onlyIdempotentInspect
Calculate the Life Path number from birth date (year + month + day, reduced). Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| lifePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so safety is covered; the description adds genuinely useful non-schema context in the form of the 10-credit Tier 1 cost. It does not explain why 'name' is required for a calculation that is described as derived purely from the birth date, nor what the reduction rules are for master numbers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence with no wasted prose, and the group/cost tags are short structured metadata rather than padding. Slightly more room could have been used to resolve the name/date ambiguity instead of restating the system name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the cost is disclosed. However, the unexplained required 'name' parameter and the absent reduction/master-number rules leave an agent with gaps for a paid calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: 'date' and 'name' carry no schema descriptions. The description partially compensates by explaining that 'date' is a birth date reduced from year/month/day, but it says nothing about why 'name' is required here, and the two compact-mode parameters are documented only in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('Life Path number') plus the input ('from birth date, year + month + day, reduced') and names the system ('Pythagorean'), which separates it from the Chaldean/Kabbalistic/Vedic life_path siblings. It does not, however, explain what distinguishes a Life Path reading from the other Pythagorean siblings (expression, soul urge, pinnacles), leaving the differentiation mostly to the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_numerology_chaldean_life_path or astroway_numerology_kabbalistic_life_path. The agent must infer from the name which system to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_pythagorean_maturityMaturity (pythagorean)ARead-onlyIdempotentInspect
Calculate the Maturity number: sum of Life Path and Expression, activates around age 35. Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| maturity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is fully covered. The description adds useful behavioral context not in the annotations: the cost (10 credits, Tier 1) and the domain-specific activation age. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-load the purpose and formula; metadata lines are compact and non-redundant. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculation tool with an output schema and rich annotations, the description covers purpose, formula, system, and cost. It omits parameter-level guidance, but the output schema and annotations relieve that burden. Remaining gap is minor: no explicit routing among alternative numerology systems.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: `fields` and `precision` are documented, but the required `date` and `name` parameters have no descriptions. The description implies both are needed via the formula (Life Path from date, Expression from name), but it does not clarify date format, name expectations, or the roles of the optional parameters. Baseline 3 for partial schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and resource (Maturity number), plus the exact formula (sum of Life Path and Expression) and the system (Pythagorean). This distinguishes it from the many other numerology maturity tools by naming the system, though it does not explicitly name a sibling alternative. Clear enough for an agent to identify the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides implied usage context ('activates around age 35') and system grouping, but does not state when to prefer this tool over Chaldean, Kabbalistic, or Vedic maturity siblings, nor any prerequisites or exclusions. Usage is inferred from the name and system label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_pythagorean_personalityPersonality (pythagorean)ARead-onlyIdempotentInspect
Calculate the Personality number from the consonants of the full birth name. Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds information the annotations cannot: a billing cost of 10 credits (Tier 1), which is material for an agent deciding whether to invoke. It adds nothing about computation limits or error behavior, but with an output schema present that is an acceptable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clauses plus two bracketed metadata tags, no filler. The operative sentence comes first and the cost/group tags follow, so the essential meaning is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering the safety profile and an output schema handling return values, the description only needs to establish purpose, input identity and cost — all present. The gap is the undocumented required date format and the absence of any usage/routing guidance among the many numerology siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: `name` and `date` are undocumented in the schema. The description partially compensates by specifying that the name must be the full birth name (consonants are extracted from it), which is genuinely useful, but it says nothing about the required YYYY-MM-DD date format or the 2-120 char name bounds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (calculate the Personality number) and names the exact input derivation (consonants of the full birth name) plus the system (Pythagorean). Against a sibling list containing chaldean, kabbalistic, vedic and numks personality variants, the system label alone lets an agent disambiguate without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The group tag '[Group: Numerology: Pythagorean]' implies the context in which this is the right choice, and the system name separates it from the other personality tools. But there is no explicit when-to-use statement, no mention of prerequisites, and no guidance on choosing it over e.g. astroway_numerology_pythagorean_soul_urge or the chaldean personality sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_pythagorean_personal_yearPersonal Year (pythagorean)CRead-onlyIdempotentInspect
Calculate the Personal Year number for a given calendar year: the 9-year cycle of personal evolution. Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personalYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is fully covered. The description's only added behavioral context is the billing metadata '[Cost: 10 credits (Tier 1)]', which is genuinely useful but does not explain what the computed number means or how it is derived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The prose is a single efficient sentence with the core purpose front-loaded, followed by short bracketed metadata lines. No filler or repetition, though the group/cost tags are boilerplate rather than explanatory.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, but with 3 required parameters and only 40% schema coverage the definition should clarify what 'name', 'date' and 'year' each represent. Nothing in the description addresses this, leaving a meaningful gap for a caller constructing the request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% (date, name and year are undocumented in the schema), and the description does not compensate at all. The critical ambiguity between 'date' (presumably a birth date) and 'year' (the target calendar year) is left entirely unresolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource ('Calculate the Personal Year number'), scopes it ('for a given calendar year') and adds domain meaning ('the 9-year cycle of personal evolution'). The 'Numerology: Pythagorean system' line does separate it from the chaldean/vedic/kabbalistic personal_year siblings, though much of that differentiation is already carried by the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to choose this over the ~70 sibling numerology tools, nor does it name an alternative system. A reader must infer the intended use purely from the tool name and the trailing '[Group: Numerology: Pythagorean]' tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_pythagorean_pinnaclesPinnacle Cycles (pythagorean)ARead-onlyIdempotentInspect
Calculate four Pinnacle cycles with their age boundaries: life chapters of opportunity. Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| pinnacles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description usefully adds the 10-credit cost and Tik 1 tier, which the annotations do not carry, plus the group membership. It stops short of noting determinism or caching behavior, but the cost disclosure is real added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and kept to two short lines plus bracketed metadata. Efficient, though the 'Pythagorean system' repeat of the group tag is mild redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return-value explanation is unnecessary. The description covers system, deliverable, and cost. The main gap is the absence of any routing guidance among the many numerology siblings, but for a straightforward calculation tool this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are documented in the schema, while 'name' and 'date' are not described anywhere. The description adds no parameter guidance, so an agent must infer that name/date are the birth-data inputs. Baseline 3 is appropriate given the schema does half the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Calculate four Pinnacle cycles with their age boundaries', and adds a gloss ('life chapters of opportunity'). The 'Pythagorean system' tag distinguishes it from the Chaldean/Kabbalistic/Vedic pinnacles siblings, though it does not name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance. With ~70 sibling tools spanning multiple numerology systems, the description never tells the agent why to pick Pythagorean pinnacles over the other pinnacles variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_pythagorean_soul_urgeSoul Urge / Heart's Desire (pythagorean)BRead-onlyIdempotentInspect
Calculate the Soul Urge number from the vowels of the full birth name. Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| soulUrge | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful non-annotation context in the cost line (10 credits, Tier 1) and the group label, but discloses nothing about the calculation's behavior or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core purpose front-loaded, followed by compact bracketed metadata for group and cost. No wasted prose; the only slight redundancy is restating 'Numerology' in the group tag.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. However, the unexplained required 'date' parameter and the absence of any usage routing between the many numerology siblings leave gaps for an agent deciding whether and how to call this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are documented in-schema while 'name' and 'date' are bare. The description partially compensates by clarifying that 'name' should be the full birth name, but leaves the required 'date' parameter entirely unexplained (why a vowel-based calculation needs a date is unclear).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (calculate), a specific resource (Soul Urge number), and the derivation method (from the vowels of the full birth name). The '[Group: Numerology: Pythagorean]' tag distinguishes it from the Chaldean, Kabbalistic, and Vedic soul_urge siblings, though it does not name a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over astroway_numerology_chaldean_soul_urge, astroway_numerology_vedic_soul_urge, or the many other soul_urge variants. The description states what it computes but never addresses selection between alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_vedic_balanceBalance (vedic)BRead-onlyIdempotentInspect
Calculate the Balance number from initials of each part of the full name. Numerology: Vedic system.
[Group: Numerology: Vedic] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| balance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds the credit cost (10 credits, Tier 1), which is genuinely useful for an agent budgeting calls, but nothing about determinism of results or what the computation depends on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the action and followed by group/cost metadata. No filler, though the bracketed tags are boilerplate rather than description content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a 4-parameter tool with two undocumented required parameters, the description leaves the role of `date` and the handling of multi-part names unaddressed — enough to call it, not enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: `fields` and `precision` are documented in the schema, while `name` and `date` aren't. The description only implicitly clarifies that `name` is the full name being reduced; it never explains why a birth `date` is required for an initials-based calculation, so it fails to compensate for the uncovered required parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and resource (the Balance number) plus the method used ('from initials of each part of the full name') and the system ('Vedic'). It distinguishes itself from the Chaldean/Kabbalistic/Pythagorean balance siblings via the system tag, though the differentiation relies on the bracketed tag rather than prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to choose this over the ~60 sibling numerology tools, and no prerequisites or exclusions. The agent must infer from the name that this is the Vedic-variant balance calculator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_vedic_birthdayBirthday (vedic)BRead-onlyIdempotentInspect
Calculate the Birthday number from the day-of-birth digit. Numerology: Vedic system.
[Group: Numerology: Vedic] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| birthday | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful non-schema context (cost of 10 credits, Tier 1), but says nothing about determinism, output shape, or edge cases in day-digit reduction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus two bracketed metadata tags; the purpose is front-loaded and there is no filler. The cost/group tags are compact rather than verbose, though they are structured metadata rather than explanatory prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the cost is disclosed. Still, for a 4-parameter tool with half the params undescribed and no explanation of what the Birthday number signifies or how invalid dates are handled, the definition is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: 'fields' and 'precision' are documented in the schema, while 'name' and 'date' carry no descriptions. The description's phrase 'from the day-of-birth digit' loosely signals that 'date' drives the result, but it adds no format, constraint, or validity detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Calculate the Birthday number') and pins the system ('Numerology: Vedic system'), which is what separates it from the many chaldean/kabbalistic/pythagorean/numks birthday siblings. It stops short of explicitly contrasting with those siblings, so it is clear but not maximally differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[Group: Numerology: Vedic]' tag plus the Vedic label implies this is the tool to pick when the Vedic system is wanted, which is a reasonable routing cue against the identical-suffix siblings. However, no explicit when-to-use, when-not-to-use, or named alternative is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_vedic_challengeChallenge Cycles (vedic)BRead-onlyIdempotentInspect
Calculate four Challenge cycles: life-area difficulties to master, derived from birth date components. Numerology: Vedic system.
[Group: Numerology: Vedic] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| challenges | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so safety behavior is covered. The description adds the useful operational fact of a 10-credit (Tier 1) cost, but says nothing about how the four cycles are returned or whether date components are interpreted differently across systems.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus structured metadata tags, front-loaded with the verb and resource. No wasted prose, though the group/cost lines are boilerplate rather than descriptive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations carry the safety profile. What remains thin is selection context — the description doesn't help an agent choose this over the many sibling challenge tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%; the undocumented parameters (name, date) are self-explanatory and constrained by pattern/min-max. The description adds nothing about inputs or how name interacts with the vedic calculation, so it neither compensates for the coverage gap nor misleads.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (calculate), a specific resource (four Challenge cycles), says what they represent (life-area difficulties to master), and pins the system as Vedic. Against ~60 siblings this identifies the right family, though it doesn't explicitly contrast itself with the neighboring vedic_pinnacles or the chaldean/kabbalistic challenge variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives (e.g. the Pythagorean/Chaldean/Kabbalistic challenge tools or vedic_pinnacles). The only extra context is the cost/group tag, which does not help an agent decide between options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_vedic_expressionExpression / Destiny (vedic)ARead-onlyIdempotentInspect
Calculate the Expression (Destiny) number from full birth name letters (all letters, reduced). Numerology: Vedic system.
[Group: Numerology: Vedic] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| expression | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, idempotent, non-destructive safety profile, so credit is for added context. The description adds that the computation uses all letters of the full birth name and reduced values, and it discloses a 10-credit cost, which is useful behavioral information beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core calculation, followed by a compact system tag and cost line. Very little waste, though the system label partially duplicates the title and group metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and annotations carry return format and safety obligations, so the description does not need to restate them. It supplies the essential computation, input expectation for name, system, and cost, leaving only usage guidance and date semantics unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with the optional fields and precision parameters documented in the schema. The description partially compensates by clarifying that the name parameter should be the full birth name with all letters used, but it does not add explanation for the required date parameter beyond the schema pattern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate), resource (Expression/Destiny number), input (full birth name letters), and system (Vedic). This clearly distinguishes it from the many nearby siblings such as pythagorean_expression, chaldean_expression, and vedic_life_path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the other expression calculators or other Vedic numerology tools. The group and cost tags identify context but do not tell the agent when this choice is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_vedic_life_pathLife Path Number (vedic)BRead-onlyIdempotentInspect
Calculate the Life Path number from birth date (year + month + day, reduced). Numerology: Vedic system.
[Group: Numerology: Vedic] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| lifePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful non-schema context — the 10-credit Tier 1 cost — but says nothing about output shape, auth, or rate limits. With annotations doing the heavy lifting, a 3 is fitting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the action and followed by the grouping/cost metadata. No wasted sentences, though the bracketed metadata is boilerplate rather than description content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover safety. What remains missing is guidance on selecting this school over its many siblings and any rationale for the required 'name' parameter. Adequate but with clear gaps for a tool in such a crowded namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are self-documented in the schema, while required 'name' and 'date' are not. The description clarifies the date semantics ('year + month + day, reduced') but never explains why a required 'name' is needed for a Life Path calculation, nor the expected date format. Partial compensation, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('Life Path number') with the reduction method (year + month + day) and the school ('Vedic system'). This differentiates it from the large sibling cluster of Chaldean/Kabbalistic/Pythagorean life_path tools, though it doesn't differentiate it from the other Vedic numerology tools it sits beside.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use or when-not-to-use guidance and names no alternative. An agent choosing between the ~10 near-identical '*_life_path' siblings gets no routing help beyond the school name embedded in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_vedic_maturityMaturity (vedic)ARead-onlyIdempotentInspect
Calculate the Maturity number: sum of Life Path and Expression, activates around age 35. Numerology: Vedic system.
[Group: Numerology: Vedic] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| maturity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description only needs to add context. It does: the 10-credit Tier 1 cost and the age-35 activation semantics are meaningful operational/domain details not derivable from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core definition front-loaded, followed by compact group/cost tags that carry real selection value. No wasted prose, though the bracketed metadata is slightly template-like.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and annotations carry the safety profile. The description supplies the domain meaning and cost, leaving only minor gaps around parameter usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' carry good descriptions, while 'name' and 'date' are undocumented in both schema and description. Those two are largely self-evident from their patterns (YYYY-MM-DD regex, 2-120 char name), so the description need not compensate heavily, but it adds nothing about parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Maturity number') and defines it ('sum of Life Path and Expression, activates around age 35'). The 'Numerology: Vedic system' label lets an agent distinguish it from the many Chaldean/Kabbalistic/Pythagorean maturity siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Vedic system tag implicitly tells the agent when to pick this variant over the Chaldean/Kabbalistic/Pythagorean maturity tools, but there is no explicit when-to-use/when-not statement and no alternatives are named. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_vedic_personalityPersonality (vedic)BRead-onlyIdempotentInspect
Calculate the Personality number from the consonants of the full birth name. Numerology: Vedic system.
[Group: Numerology: Vedic] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered structurally. The description adds the billing cost (10 credits, Tier 1), which is genuinely useful behavior an agent should know before invoking, but nothing about computation or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence followed by two bracketed metadata lines; the core purpose is front-loaded and nothing is wasted. The group/cost tags are boilerplate but compact and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover safety. Still, one of two required parameters (date) is unexplained and there is no usage context, so the definition is only minimally complete for a paid tool with four parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: `fields` and `precision` are self-documented, while `name` and `date` are bare. The description partly compensates by clarifying that `name` must be the full birth name, but it says nothing about the role of `date` in a name-consonant calculation, leaving a required parameter unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate), a specific resource (the Personality number), the derivation method (consonants of the full birth name), and the system (Vedic). The system tag implicitly separates it from the many chaldean/pythagorean personality siblings, but the description never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not guidance. An agent cannot tell from the text when Vedic personality is preferred over the Chaldean, Pythagorean, or Kabbalistic personality variants listed as siblings, nor what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_vedic_personal_yearPersonal Year (vedic)BRead-onlyIdempotentInspect
Calculate the Personal Year number for a given calendar year: the 9-year cycle of personal evolution. Numerology: Vedic system.
[Group: Numerology: Vedic] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personalYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and non-open-world, so the safety profile is covered. The description adds the credit cost (Tier 1) and group label, which annotations omit, but says nothing about the compact-mode behavior driven by the 'fields'/'precision' parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: the operation and its scope lead, with the group/cost tags clearly bracketed as metadata. No filler prose, though the metadata blocks add length without aiding invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover safety. However, the required inputs are undocumented and compact mode is unmentioned, leaving an agent to guess at input formats for a 5-parameter calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%; the three required parameters (name, date, year) carry no schema descriptions at all, and the description supplies no meaning for them. Only 'fields' and 'precision' are documented in the schema, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Calculate'), a precise resource ('Personal Year number'), and the scope ('for a given calendar year'), plus the system ('Vedic'). The system tag distinguishes it from the chaldean/kabbalistic/pythagorean personal-year siblings, though it never explicitly contrasts them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over the many sibling personal-year tools (chaldean, kabbalistic, pythagorean, numk/numks/nump). The system tag implies the intended domain but leaves the selection decision entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_vedic_pinnaclesPinnacle Cycles (vedic)BRead-onlyIdempotentInspect
Calculate four Pinnacle cycles with their age boundaries: life chapters of opportunity. Numerology: Vedic system.
[Group: Numerology: Vedic] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| pinnacles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's one value-add is the cost disclosure (10 credits, Tier 1), which annotations do not carry. It says nothing about permissions, limits, or what the four cycles contain beyond 'age boundaries'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and output shape in the first clause, and the group/cost metadata is compact. No filler, though the metadata tags occupy space that could have carried usage or parameter guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and cost is disclosed. However, for a 2-required-parameter tool with 50% schema coverage, the definition leaves the agent without guidance on name spelling/format conventions or how the four cycles are scoped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: only `fields` and `precision` are documented in the schema, while the two required parameters (`name`, `date`) have no description anywhere. The description adds no meaning to any parameter and does not compensate for the undocumented name/date semantics (e.g., which name form numerology expects).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Calculate") and resource ("four Pinnacle cycles with their age boundaries"), plus a gloss ("life chapters of opportunity"). The [Group: Numerology: Vedic] tag separates it from the Chaldean/Kabbalistic/Pythagorean pinnacles siblings, though the description never explicitly names an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. The group tag implies this is the Vedic variant of the pinnacles family, but nothing tells the agent when to pick pinnacles over life_path, challenge, or maturity, nor any prerequisite for the request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numerology_vedic_soul_urgeSoul Urge / Heart's Desire (vedic)BRead-onlyIdempotentInspect
Calculate the Soul Urge number from the vowels of the full birth name. Numerology: Vedic system.
[Group: Numerology: Vedic] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| soulUrge | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so much of the safety profile is covered. The description adds the useful cost signal (10 credits, Tier 1), but says nothing about determinism or what the calculation returns beyond the number.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence stating the operation and input, followed by compact group/cost metadata. Nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, with 50% schema coverage and an unexplained required `date`, plus no routing guidance among ~10 near-identical siblings, the definition is only minimally sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: `fields` and `precision` are documented in the schema, while `date` and `name` are bare. The description helps by specifying the name must be the 'full birth name', but it never explains why a required `date` matters for a vowel-derived number, leaving a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Soul Urge number') plus the input it derives from ('the vowels of the full birth name') and the system ('Vedic'). The 'Vedic' label does differentiate it from the Chaldean/Pythagorean/Kabbalistic Soul Urge siblings, though it doesn't explain how the systems differ.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this over the many sibling Soul Urge tools (chaldean, kabbalistic, pythagorean, strict, numks) — only an implicit system-tag. No prerequisites, cost trade-offs, or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numk_personal_yearPersonal Year (kabbalistic)BRead-onlyIdempotentInspect
Calculate the Personal Year number for a given calendar year: the 9-year cycle of personal evolution. Numerology: Kabbalistic (phonetic) system.
[Group: Numerology: Kabbalistic (phonetic)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_personal_year.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personalYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered without the description. The description does add non-schema context: the 10-credit Tier 1 cost and the alias relationship to the canonical tool. It says nothing about determinism, computation time, or what a Personal Year value represents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tight and front-loaded: the core purpose leads, followed by compact metadata tags and a one-line alias note. The bracketed group/cost lines are structured metadata rather than filler, and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the tool is computationally simple. However, three required parameters remain undocumented in both schema and description, and the phonetic-name requirement is only implied by the system label rather than stated – a notable gap for an input-sensitive calculation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% – `fields` and `precision` are documented, but `name`, `date`, and `year` carry no descriptions. The description supplies nothing for those three required parameters beyond the phrase 'for a given calendar year', leaving the agent to guess that `name` is the subject's name in original spelling (critical for a phonetic system) and that `date` is a birth date.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Personal Year number for a given calendar year') and pins the system to 'Kabbalistic (phonetic)', which meaningfully separates it from the strict-Kabbalistic and Pythagorean/Chaldean/Vedic personal-year siblings. It stops short of naming an alternative tool explicitly, so differentiation rests on the group tag rather than a direct sibling reference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over astroway_numks_personal_year, astroway_nump_personal_year, or the canonical astroway_numerology_kabbalistic_personal_year. The only routing-adjacent content is the alias note and cost tag, neither of which tells the agent when this variant applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numks_balanceBalance (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate the Balance number from initials of each part of the full name. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_strict_balance.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| balance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnly, idempotent, non-destructive), so the bar is lower. The description adds cost transparency ('10 credits (Tier 1)') and system/group labels, which are genuinely useful behavioral facts not in annotations. It does not disclose anything else beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the operation and system, followed by compact metadata blocks and the alias note. Nothing wasted, though the bracketed metadata lines are somewhat boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return-value explanation is unnecessary. Cost, system, and group are covered. What's missing is why an agent should pick this tool over its lookalike sibling and the strict/regular kabbalistic distinction — meaningful in a context with both astroway_numerology_kabbalistic_balance and astroway_numerology_kabbalistic_strict_balance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% — 'date' and 'name' have no schema descriptions, only format constraints, while 'fields' and 'precision' are documented. The description mentions 'initials of each part of the full name', hinting at how 'name' is consumed, but adds nothing about date format or the required date's role. Baseline 3 given the 50% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Balance number from initials of each part of the full name') and names the system. However, in a family of ~70 sibling tools including a near-identical astroway_numerology_kabbalistic_strict_balance, the description doesn't explain how this differs from that twin beyond the alias callout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. The only routing hint is the parenthetical that this is a 'cursor-friendly alias' for astroway_numerology_kabbalistic_strict_balance, which is a naming note, not usage guidance. Alternative Balance systems (Chaldean, Pythagorean, Vedic) are not compared.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numks_birthdayBirthday (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate the Birthday number from the day-of-birth digit. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_strict_birthday.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| birthday | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely new behavioral context in the credit cost (10 credits, Tier 1) and the calculation basis. It doesn't explain output, but with an output schema present that gap is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose in one sentence; the group, cost, and alias lines are boilerplate but short and informative. Nothing is padded, though the metadata blocks slightly dilute the signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations cover the safety profile. However, the relationship to the near-identical non-strict sibling and the role of the required `name` parameter are unexplained, leaving a real selection gap in a very crowded sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: `fields` and `precision` are documented inline, while `date` and `name` carry no schema descriptions. The phrase 'from the day-of-birth digit' loosely implies `date`, but the required `name` parameter for a date-derived number is never explained, so the description only marginally compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Birthday number') plus the algorithmic basis ('from the day-of-birth digit' in the Kabbalistic Mathers-strict system). The group label distinguishes it from the Chaldean/Pythagorean/Vedic families, though it doesn't explicitly differentiate it from the non-strict `astroway_numerology_kabbalistic_birthday` sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not, or alternative guidance is given. A sibling `..._kabbalistic_birthday` (non-strict) exists, and the description never explains how the 'strict' variant differs or when to prefer it. The agent must infer selection purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numks_challengeChallenge Cycles (kabbalistic-strict)ARead-onlyIdempotentInspect
Calculate four Challenge cycles: life-area difficulties to master, derived from birth date components. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_strict_challenge.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| challenges | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, so the safety profile is settled. The description adds genuinely new behavioral context: a 10-credit Tier 1 cost, which is material for an agent deciding whether to spend credits, plus confirmation this is a pure calculation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and specific, with group, cost, and alias metadata cleanly separated on their own lines. It is efficient, though the group label repeats what the name already encodes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described. The definition covers system, scope, cost, and alias routing. A minor gap remains: it doesn't confirm what `name` contributes, but for a leaf calculation tool this is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: `fields` and `precision` are documented in the schema, but the required `name` and `date` parameters have no schema descriptions. The description's phrase 'derived from birth date components' loosely covers date, but the role of the name in Kabbalistic numerology is never explained, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('four Challenge cycles: life-area difficulties to master') plus the exact system ('Kabbalistic (Mathers strict)'). This lets an agent distinguish it from the many sibling challenge tools across Pythagorean, Chaldean, Vedic, and non-strict Kabbalistic variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The group tag and cost tier imply when the tool belongs, and the alias line clarifies routing to `astroway_numerology_kabbalistic_strict_challenge`. However, no explicit when-to-use guidance is given, and no exclusions distinguishing it from the non-strict or other-system challenge tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numks_expressionExpression / Destiny (kabbalistic-strict)ARead-onlyIdempotentInspect
Calculate the Expression (Destiny) number from full birth name letters (all letters, reduced). Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_strict_expression.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| expression | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuinely useful non-annotation context: the 10-credit Tier 1 cost and the fact that this is a Cursor-friendly alias of astroway_numerology_kabbalistic_strict_expression, which prevents duplicate calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, followed by compact bracketed metadata for group, cost, and alias. No filler sentences; every line carries information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the description needn't explain return values, and annotations cover the safety profile. The remaining gap is the unexplained required 'date' parameter, but otherwise the definition gives enough to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: 'fields' and 'precision' are documented in the schema, but 'date' and 'name' are not. The description clarifies 'name' as the full birth name whose letters are reduced, but gives no explanation of why a date is required for an Expression calculation, leaving half the parameters under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Expression (Destiny) number from full birth name letters') and names the system ('Kabbalistic (Mathers strict)'), which separates it from the Chaldean/Pythagorean/Vedic siblings. The computation method (all letters reduced) also distinguishes it from soul_urge/personality, though it never names a sibling it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the calculation described and the group/cost metadata, but there is no explicit when-to-use, when-not, or routing to the canonical sibling. An agent must infer that this is the kabbalistic-strict variant versus the plain kabbalistic or chaldean Expression tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numks_life_pathLife Path Number (kabbalistic-strict)ARead-onlyIdempotentInspect
Calculate the Life Path number from birth date (year + month + day, reduced). Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_strict_life_path.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| lifePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the read-only, idempotent, non-destructive behavior. The description adds useful operational context beyond annotations: group, cost (10 credits, Tier 1), and alias relationship. It does not cover auth needs or rate limits, so it falls short of maximum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded: calculation purpose first, then system/group/cost/alias details. Every line adds useful selection or operational context without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculation tool with an output schema and strong annotations, the description covers system, cost, and alias identity. It still leaves the required `name` parameter unexplained and does not route among the many numerology siblings, but the core call context is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; `fields` and `precision` are already described in the schema, and `date` has a pattern. The description reinforces `date` as a birth date reduced from year/month/day, but it never explains the required `name` parameter, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate), resource (Life Path number), input (birth date), and system (Kabbalistic Mathers strict). It also names the canonical tool it aliases, which helps distinguish it from the many numerology siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description supplies clear selection context via the system name, group label, and credit cost. However, it does not explicitly say when to choose this over other Life Path variants, such as Pythagorean, Chaldean, or non-strict Kabbalistic tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numks_maturityMaturity (kabbalistic-strict)ARead-onlyIdempotentInspect
Calculate the Maturity number: sum of Life Path and Expression, activates around age 35. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_strict_maturity.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| maturity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive. The description adds genuinely new behavioral context: the credit cost (10 credits, Tier 1) and the domain fact that the number activates around age 35. It also discloses that this is an alias of the longer tool name, which helps an agent avoid double-calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the definition in one tight sentence, then uses bracketed metadata lines for group and cost and a parenthetical alias note. Every element is load-bearing; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description supplies cost, system identity, and the alias. The only gap is routing guidance among the near-identical sibling systems, which is a minor omission for a simple two-required-param computation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: `fields` and `precision` carry descriptions, while `name` and `date` are undocumented but self-evident (date has a strict YYYY-MM-DD pattern). The description adds no parameter syntax beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Calculate the Maturity number"), defines the quantity (sum of Life Path and Expression, activates ~35), and names the exact system (Kabbalistic, Mathers strict). This differentiates it from the many sibling maturity tools (chaldean, pythagorean, vedic, plain kabbalistic).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The system tag "[Group: Numerology: Kabbalistic (Mathers strict)]" implicitly routes the agent, but there is no explicit when-to-use guidance or comparison against the sibling systems. An agent must infer that 'strict' should be chosen over plain kabbalistic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numks_personalityPersonality (kabbalistic-strict)ARead-onlyIdempotentInspect
Calculate the Personality number from the consonants of the full birth name. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_strict_personality.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuinely new behavior: the cost (10 credits, Tier 1) and the fact that this name is a cursor-friendly alias of the longer tool ID, both of which matter for planning and for avoiding duplicate calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in sentence one, followed by tightly bracketed metadata (group, cost, alias). Every element is short and earns its place; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations plus the cost line cover the operational essentials. The remaining gap is the unexplained required 'date' parameter and the absence of any disambiguation from the many near-identical numerology siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% – 'fields' and 'precision' are documented in the schema, but the two required parameters (name, date) carry no description. The description partially compensates by specifying the name must be the FULL BIRTH name ('from the consonants of the full birth name'), which materially changes valid input, but it never explains why a date is required for a name-only calculation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Personality number') and even the derivation rule ('from the consonants of the full birth name'), plus the system ('Kabbalistic (Mathers strict)'). It distinguishes itself from the Chaldean/Pythagorean/Vedic variants by naming the system, though it never contrasts itself with the Express/Soul Urge numbers in the same system.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all: it does not say when an agent should pick this over astroway_numerology_kabbalistic_strict_personality (the tool it aliases), over astroway_numks_expression, or over the non-strict Kabbalistic variant. The only routing hint is the parenthetical alias note, which is about naming, not selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numks_personal_yearPersonal Year (kabbalistic-strict)ARead-onlyIdempotentInspect
Calculate the Personal Year number for a given calendar year: the 9-year cycle of personal evolution. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_strict_personal_year.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personalYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only/idempotent profile, and the description adds genuinely useful context beyond them: the 10-credit Tier 1 cost and the fact that this name is an alias for astroway_numerology_kabbalistic_strict_personal_year. It does not describe determinism, caching, or response shape, but that is largely covered elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Core sentence leads with the verb and system, and the bracketed metadata (group, cost, alias) is compact and informative rather than filler. The layout is slightly cluttered but every line carries a distinct fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the system/alias context is clear. What is missing is parameter meaning for name/date and any guidance on choosing this variant over its many siblings, leaving the definition adequate but not fully self-sufficient for a 5-param tool in a dense sibling family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, and the three required params (name, date, year) carry no schema descriptions. The description gives a partial hint that `year` selects the cycle, but says nothing about what `name` contributes to the calculation or the expected date format, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Calculate the Personal Year number"), scopes it to a given calendar year, and pins the system variant ("Kabbalistic (Mathers strict) system"). This cleanly separates it from the Chaldean, Pythagorean, Vedic, and non-strict Kabbalistic personal-year siblings, and the alias note ties it to the canonical tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: compute a personal year for a chosen calendar year. It never names an alternative (e.g. use nump_personal_year for Pythagorean) or states when-not to use this variant, so routing among the ~15 personal-year-like siblings still relies on the system label being read as a constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numks_pinnaclesPinnacle Cycles (kabbalistic-strict)ARead-onlyIdempotentInspect
Calculate four Pinnacle cycles with their age boundaries: life chapters of opportunity. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_strict_pinnacles.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| system | No | |
| pinnacles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so safety is covered. The description adds genuinely new behavioral context: a credit cost (10 credits, Tier 1) and the group it belongs to, plus what the result contains (four cycles with age boundaries). It does not describe failure modes or credit-refund behavior, keeping it out of the top band.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the operation and system in the first sentence, then tucks group, cost, and alias into bracketed metadata lines that are short and skimmable. Slightly padded by three meta-lines for a two-parameter computation, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and the description still states the shape of the result (four cycles with age boundaries). The main remaining gap is that the two required inputs are undocumented in both description and schema, which matters for a name-and-date numerology calculation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Two of four parameters (name, date) carry no description in the schema, giving only 50% coverage, and the description does not compensate — it says nothing about what name means (subject's full name for letter-based numerology) or how date is interpreted. The two documented optional params (fields, precision) are compact-mode mechanics unrelated to this tool's core computation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (calculate four Pinnacle cycles with their age boundaries) and names the exact system variant (Kabbalistic, Mathers strict), which is what separates it from the Chaldean, Pythagorean, Vedic, and non-strict Kabbalistic siblings. The alias note further clarifies its relationship to astroway_numerology_kabbalistic_strict_pinnacles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The alias note ('cursor-friendly alias for astroway_numerology_kabbalistic_strict_pinnacles') implies a routing rule — prefer this short name in cursor-style clients — but there is no explicit when-to-use, when-not-to-use, or comparison to the other pinnacle variants. Usage must be inferred from the system name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_numks_soul_urgeSoul Urge / Heart's Desire (kabbalistic-strict)BRead-onlyIdempotentInspect
Calculate the Soul Urge number from the vowels of the full birth name. Numerology: Kabbalistic (Mathers strict) system.
[Group: Numerology: Kabbalistic (Mathers strict)] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_kabbalistic_strict_soul_urge.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| soulUrge | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds one genuinely useful behavioral fact not in the annotations: the cost of 10 credits (Tier 1). It says nothing about permissions, rate limits, or what happens with an invalid date.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely compact and front-loaded: the operative sentence comes first, followed by sharply delimited metadata tags. The alias note is parenthetical and skimmable, though it is arguably redundant with the sibling list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the cost/system metadata is present. However, the unexplained `date` parameter and the absence of any tie-breaker against the six other soul-urge siblings leave a real gap for an agent choosing among near-identical tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: `fields` and `precision` are documented in the schema, while `name` and `date` are not. The description partially compensates by clarifying that `name` must be the full birth name and that only its vowels are used, but it never explains what `date` is for in an all-vowel calculation, so half the gap remains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate the Soul Urge number') plus the derivation ('from the vowels of the full birth name') and names the system ('Kabbalistic (Mathers strict)'). This separates it from the Chaldaic/Pythagorean/Vedic soul-urge siblings, though it never contrasts 'Mathers strict' against the plain kabbalistic soul_urge sibling, leaving that distinction to the reader.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. The parenthetical only says it is a 'Cursor-friendly alias' for the canonical tool, which is a routing fact rather than a usage rule, and there is no indication of when to pick Soul Urge over Expression, Life Path, or the non-strict kabbalistic variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_nump_personal_yearPersonal Year (pythagorean)BRead-onlyIdempotentInspect
Calculate the Personal Year number for a given calendar year: the 9-year cycle of personal evolution. Numerology: Pythagorean system.
[Group: Numerology: Pythagorean] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_numerology_pythagorean_personal_year.)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | Yes | ||
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| name | No | |
| system | No | |
| personalYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and an output schema exists, so return values need no explanation. The description usefully adds cost transparency (10 credits, Tier 1), which is genuine behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, and the metadata blocks (group, cost, alias) are compact and useful. No wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculation tool with annotations and an output schema, most of the burden is covered elsewhere. However, the three required parameters carry no meaning in either the schema or description, which is a real completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: name, date, and year are required but undocumented in both schema and description, and the description explains no parameters at all. It fails to compensate for the low coverage, leaving the three required inputs semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and resource (Personal Year number for a given calendar year) with the cycle concept explained. The 'Pythagorean system' tag does distinguish it from the chaldean/kabbalistic/vedic personal_year siblings, though it never explicitly routes between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not guidance. The only usage note is that it is a Cursor-friendly alias for the canonical tool, which is minor. An agent gets no help choosing between this and the other personal_year variants or the canonical name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_palmistry_fate_lineFate LineCRead-onlyIdempotentInspect
Career, life direction.
[Group: Palmistry (Cheiro)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| line | No | |
| source | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so safety is covered. The description adds useful behavioral context in the form of the 10-credit Tier 1 cost and the Palmistry group, but nothing about output shape or limitations beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it is under-specified rather than concise: the core sentence 'Career, life direction' is too thin to convey the tool's function, and the metadata lines carry more usable information than the description itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and annotations covering safety, so return values and permissions need not be described. However, for a palmistry reading tool with four sibling line tools, the description fails to explain the purpose or differentiate it from alternatives, leaving the agent without enough context to select it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both optional parameters (fields, precision) are fully documented in the schema. The description adds no parameter meaning beyond that, which meets the baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Career, life direction' only gestures at the fate line's domain meaning; it states no verb or resource and never says what the tool returns or does. An agent cannot distinguish this from sibling palmistry line tools (head_line, heart_line, life_line) without opening each definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternatives. The only contextual clues are the group label and credit cost, which do not tell the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_palmistry_head_lineHead LineCRead-onlyIdempotentInspect
Intellect, mental approach.
[Group: Palmistry (Cheiro)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| line | No | |
| source | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds useful non-obvious context in the form of cost (10 credits, Tier 1) and the interpretive framework (Cheiro palmistry), but says nothing about the shape or nature of the returned reading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is very short and front-loads the concept, but 'Intellect, mental approach' is a fragment rather than an efficient sentence, and the group/cost tags are structured metadata rather than explanatory prose. Brevity here reflects under-specification as much as economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and cost is disclosed. However, for a reading tool the description never states that it produces an interpretation of the head line, leaving the core action implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both the compact-mode fields and precision parameters, so the schema carries the full burden. The description adds nothing about parameters, which is acceptable at this coverage level but earns no extra credit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the domain concept ('Intellect, mental approach') that the head line represents, but supplies no verb or statement of what the tool actually returns or does. Sibling tools like heart_line and life_line share the same shape, and nothing here distinguishes the action of this tool from theirs beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no conditions or prerequisites. An agent must infer usage entirely from the name and the palmistry group tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_palmistry_heart_lineHeart LineCRead-onlyIdempotentInspect
Emotional life, romance.
[Group: Palmistry (Cheiro)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| line | No | |
| source | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds genuine extra context with the cost ('10 credits, Tier 1') and the Cheiro-palmistry grouping, but says nothing about the reading's content, length, or determinism, so it is adequate rather than rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the topic ahead of the metadata blocks, so there is no waste. However, it is thin rather than dense — the brevity comes from omitting purpose and usage information rather than from efficient phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a standalone esoteric reading tool an agent must be able to tell what it returns and how to use it; here the description supplies only a subject gloss plus cost metadata. With an output schema present the return shape need not be described, but the purpose and invocation context remain under-specified relative to the sibling palmistry tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both optional parameters (fields, precision) are fully documented in the schema, so the baseline of 3 applies. The description contributes no additional parameter meaning, which is acceptable given the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a topic gloss ('Emotional life, romance') rather than a statement of what the tool does. It never uses a verb to say it produces a palmistry heart-line reading, and it does not distinguish itself from sibling palmistry lines (life_line, head_line, marriage_line) beyond the title. This is close to a tautological restatement of the tool's subject.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to invoke this tool, what input it needs, or how it differs from other palmistry readings. The only framing is the '[Group: Palmistry (Cheiro)]' tag, which categorizes but does not describe usage conditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_palmistry_life_lineLife LineCRead-onlyIdempotentInspect
Vitality, health, life force.
[Group: Palmistry (Cheiro)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| line | No | |
| source | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds useful metadata by disclosing a 10-credit Tier 1 cost, which is behavioral context not present in annotations, but says nothing about return format or rate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loads the thematic meaning, followed by compact bracketed metadata. It avoids wasted prose, though the first line is a fragment rather than a complete purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter, read-only tool with an output schema and rich annotations, the description does not need to explain return values or safety. However, it still lacks explicit usage guidance and a clear operational purpose, which are the main remaining gaps for an agent selecting among many esoteric siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (fields, precision) are documented directly in the input schema. The description adds no parameter-level meaning, so the baseline of 3 is appropriate when the schema carries the full burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the thematic domain of the life line—vitality, health, life force—but does not state an operation or what the tool actually returns. It distinguishes the life line from other palmistry lines only by association, leaving the purpose vague rather than tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as fate_line, head_line, or heart_line. The group label 'Palmistry (Cheiro)' and credit cost provide context but do not tell the agent when this specific life-line reading is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_palmistry_marriage_lineMarriage LineCRead-onlyIdempotentInspect
Significant partnerships.
[Group: Palmistry (Cheiro)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| line | No | |
| source | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world behavior, so the safety profile is covered. The description adds the cost tier ([Cost: 10 credits (Tier 1)]), which is genuinely useful transactional context, but says nothing about what the tool returns or what inputs it requires.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact with no padding; every element (domain meaning, group, cost) is relevant. However, it is under-specified rather than truly concise — there is simply very little content to structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What remains missing is any statement of what the tool actually does or produces, leaving the purpose dependent on the title alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both optional parameters (fields, precision) are fully documented in the schema, including compact-mode syntax and default rounding behavior. The description adds nothing on top of that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Significant partnerships." is a fragment describing what the marriage line symbolizes, not what the tool does — there is no verb and no indication that the tool returns a palmistry interpretation. The name and title already identify the resource, so the description adds almost nothing an agent couldn't infer without it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no differentiation from the four sibling palmistry line tools (fate_line, head_line, heart_line, life_line). The [Group: Palmistry (Cheiro)] tag categorizes the tool but does not tell the agent when to pick it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_best_namesBest Names by SignCRead-onlyIdempotentInspect
Sign-aligned name suggestions; optional gender filter.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| names | No | |
| element | No | |
| sunSign | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds value the annotations do not: an explicit cost of 10 credits (Tier 1) and the Pet Astrology grouping, which matters for a paid metered API. It still says nothing about rate limits, latency, or output shape, so it sits at a solid middle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse fragments with the core capability front-loaded and zero waste; the bracketed group and cost metadata are compact and skimmable. It is efficient rather than padded, though the brevity edges toward under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the 100% schema coverage plus safety annotations carry most of the weight for this simple read-only tool. The remaining gap is the absent usage routing versus siblings, which leaves the description only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the birth-data body, fields, precision, and the nested gender filter thoroughly. The description only echoes the gender filter and adds no date/time/coordinate or precision meaning beyond the schema, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete output (sign-aligned name suggestions) and an input modifier (optional gender filter), which is more informative than a tautology. However, it does not distinguish this tool from the large set of sibling pet tools (e.g. astroway_pet_sun_sign_meaning, astroway_pet_temperament), so an agent cannot tell from the text alone why it would pick this over them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the ~30 sibling tools. The only actionable hint is that the gender filter is optional, which is a parameter note rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_birth_chartPet Birth ChartCRead-onlyIdempotentInspect
Full natal chart for the pet (sun, moon, ASC + planets) plus disclaimer.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| planets | No | |
| sunSign | No | |
| moonSign | No | |
| ascendant | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint, idempotentHint, non-destructive), so the bar is lower. The description adds useful context by naming the returned content and disclosing a 'disclaimer' and a 10-credit Tier 1 cost, but says nothing about computation behavior, precision defaults, or what the sidereal/house-system options actually change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines with the core content front-loaded and no filler; the metadata tags are boilerplate but harmless. It is efficient, though its brevity is partly under-specification rather than pure economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a 15-parameter astrological calculation tool with 33% param coverage and no usage guidance, the description is too thin. It omits what the numerous chart-configuration parameters do and when to reach for this tool over its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds no parameter meaning at all. Several inputs (city, date, name, latitude, longitude, cosmogram, zodiacType, houseSystem) are undocumented in both schema and description, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Full natal chart for the pet') and enumerates its contents (sun, moon, ASC + planets), which is more concrete than a bare restatement of the title. It does not, however, explicitly distinguish itself from the many other pet-astrology siblings (pet_personality, pet_sun_sign_meaning), leaving the agent to infer that this is the comprehensive chart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no exclusions. The only framing is a group tag and cost, which does not tell an agent which of the ~13 pet-astrology siblings to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_communication_styleCommunication StyleCRead-onlyIdempotentInspect
How best to communicate with this pet.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| communication | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful billing context ('Cost: 10 credits (Tier 1)') that is not in the structured fields, but says nothing about required birth data or what the output contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short lines, front-loaded with the purpose followed by metadata tags, with no filler. It is efficient, though its brevity is part of the under-specification problem rather than a virtue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a 15-parameter chart tool with low schema coverage and a crowded sibling set, the description omits input expectations, usage conditions, and sibling differentiation, leaving the agent under-equipped to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a heavy burden but contributes zero parameter information. Required inputs (date, time, latitude, longitude) and undocumented fields such as city, name, cosmogram, zodiacType and houseSystem get no explanation from either source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'How best to communicate with this pet' conveys the general purpose, but it lacks an explicit verb and does not differentiate itself from near-identical siblings like astroway_pet_training_style, astroway_pet_personality, or astroway_pet_temperament. An agent cannot tell from the text whether this returns advice, a chart-derived classification, or something else.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many pet_* siblings. The [Group: Pet Astrology] tag only categorizes the tool; it does not tell the agent when to select this over pet_training_style or pet_personality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_diet_by_signDiet by SignDRead-onlyIdempotentInspect
Element-based dietary focus.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| diet | No | |
| element | No | |
| sunSign | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description's only contribution is the cost line (10 credits, Tier 1), which is mildly useful but not behavioral context about the computation, required inputs, or chart dependency. With annotations doing the heavy lifting, this is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity reflects under-specification rather than economy — the one content sentence carries almost no information. The bracket tags consume roughly half of the visible text without helping the agent act.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with four required positional/time parameters and a cost, the description omits essentially everything an agent needs: no input prerequisites, no mention of the birth-data requirement, no scope or interpretation of the returned diet guidance. The existence of an output schema excuses it from describing return values, but nothing else is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (15 parameters, required date/time/latitude/longitude undocumented in the schema), so the description is expected to compensate and it does not mention a single parameter. It never explains that birth date, time, and coordinates are needed for the pet's chart, nor references ayanamsa, houseSystem, or the compact-mode fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase, 'Element-based dietary focus,' with no verb and no indication of what the tool actually returns or requires. It largely restates the title 'Diet by Sign' while substituting 'element' for 'sign,' which muddies rather than clarifies the basis of the output. Nothing distinguishes it from siblings such as astroway_pet_health_tips or astroway_pet_exercise_needs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative among the many pet_* siblings. The '[Group: Pet Astrology]' and '[Cost: 10 credits (Tier 1)]' tags are metadata, not usage instruction. An agent gets no basis for choosing this over pet_health_tips or pet_grooming_by_element.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_exercise_needsExercise NeedsBRead-onlyIdempotentInspect
Element-based daily exercise minutes + recommended activities.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| sunSign | No | |
| exercise | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world behavior, so safety is covered. The description's one added behavioral fact is the cost model (10 credits, Tier 1), which is real operational context not present in structured fields. Beyond pricing it says nothing about determinism per date or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, purpose front-loaded ahead of the bracketed metadata, with no filler. It is appropriately sized for a terse API tool, though the extreme brevity is part of the problem rather than a virtue in the later dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations are rich, so return values need not be described. What is missing is the input intent: an agent must guess that the four required birth-data fields must describe the pet, and that date/time are the chart moment rather than the day whose exercise is being computed. For a 15-parameter tool that inference gap is a meaningful shortfall.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is expected to compensate, and it does not. It never explains that date/time/latitude/longitude should be the pet's birth data, nor does it touch city, name, cosmogram, zodiacType, or houseSystem — all of which lack any schema description of their own. The word 'Element' hints at the astrological logic but not at any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete output: 'Element-based daily exercise minutes + recommended activities.' That is specific enough to separate it from sibling pet tools like play_style or training_style, which focus on behavior rather than quantified exercise. However it never states a verb or the input basis (presumably the pet's natal chart), so the differentiation is partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. The tool sits among many overlapping pet-astrology siblings (pet_play_style, pet_training_style, pet_health_tips, pet_temperament) and the description does nothing to say which question routes here versus there. Only the [Group] and [Cost] tags are present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_grooming_by_elementGrooming by ElementCRead-onlyIdempotentInspect
Grooming focus + frequency by element.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| grooming | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's one genuinely additive piece of information is the cost line ('10 credits, Tier 1'), which is billing behavior not present in the annotations. It says nothing about how the chart is computed, what happens with missing optional fields, or any latency/credit-consuming behavior beyond the flat fee.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is two short lines, front-loaded with the purpose statement and followed by bracketed metadata, with no filler or repetition. It is efficiently structured, though the bracketed tags are tooling boilerplate rather than descriptive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a 15-parameter astrological calculation tool with four required inputs the description is far too thin: it omits the input requirements, the derivation logic (birth data to element), and the meaning of the many optional astrology knobs. An agent would have to infer nearly everything from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the schema does not carry the load, and the description compensates with nothing. It never mentions that date, time, latitude and longitude are required, nor does it clarify the interaction of timezone vs timezoneOffset, the zodiacType/ayanamsa choice, or the compact-mode fields/precision pair.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Grooming focus + frequency by element' names the resource (pet grooming guidance) and its organizing axis (elemental astrology), but gives no verb and never explains that the element is derived from the birth-chart inputs rather than supplied directly. It does not distinguish itself from close siblings such as astroway_pet_diet_by_sign, astroway_pet_health_tips, or astroway_pet_training_style, all of which produce parallel 'advice by astrological factor' outputs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite information (e.g., that a pet's birth date/time/place is needed), and no mention of any alternative sibling tool. The only contextual text is a group tag and a credit-cost tag, which do not help an agent decide whether this is the right tool for a grooming question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_health_tipsHealth Watch-OutsCRead-onlyIdempotentInspect
Sign-specific health vulnerabilities. NOT veterinary advice.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| sunSign | No | |
| disclaimer | No | |
| healthTips | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds a non-veterinary-use disclaimer and the credit cost, but does not disclose output behavior or limitations beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loads the tool's purpose and disclaimer. The group and cost metadata are compact, though the description is arguably too terse given the tool's input complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, but the description is still incomplete for a 15-parameter tool with low schema description coverage. It does not explain what birth data is required, how the sign is derived, or when to use this tool versus sibling pet-astrology tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 15 parameters with only 33% description coverage, and the required birth data parameters (date, time, latitude, longitude) have no schema descriptions. The tool description mentions no input parameters at all, so it does not compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific output: sign-specific health vulnerabilities for pets, plus a clear disclaimer that it is not veterinary advice. It is understandable in context, but it does not explicitly differentiate itself from the many sibling pet-astrology tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool versus alternatives such as astroway_pet_birth_chart or astroway_pet_temperament. The only boundary given is the disclaimer 'NOT veterinary advice', which is important but not usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_lucky_dayLucky DaysCRead-onlyIdempotentInspect
Days of week traditionally aligned with the sign.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| luckyDays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the operational detail of cost (10 credits, Tier 1), which is genuinely useful and not in annotations, but discloses nothing about computation, determinism vs. transit-dependence, or rate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is short and front-loaded with no wasted words, which is good, but it is terse to the point of under-specification. Brevity here reflects missing content rather than efficient editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 4-required-parameter tool, the description omits the essential context that the caller must supply a pet's birth date, time, and coordinates, and which sign is being referenced. An output schema exists so return values need not be explained, but the input-side gap is large.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a heavy burden and adds no parameter meaning at all. The four required params (date, time, latitude, longitude) are completely undocumented in both the schema and the description, so an agent gets no help on how to supply the birth data that drives the result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Days of week traditionally aligned with the sign' describes the output resource (weekdays tied to a zodiac sign) but is a noun fragment with no verb, so it never states what the tool actually does or computes. It gives no differentiation from the many other astroway_pet_* siblings beyond the '[Group: Pet Astrology]' tag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g., that a pet birth chart's date/time/place drive the result), and no mention of alternatives among the 15+ pet tools. Only the group tag hints at context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_owner_pet_compatibilityOwner-Pet CompatibilityARead-onlyIdempotentInspect
Compatibility score (0-100) based on element + sign distance.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| pet | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| owner | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| compatibility | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description earns credit by disclosing the pricing tier (10 credits, Tier 1) and the deterministic scoring basis, which are real cost/behavior facts an agent needs before calling. It stops short of stating that both owner and pet charts are mandatory inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, outcome front-loaded before the group and cost metadata. Nothing is padding given how little it says.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the nested birth-data schema is exhaustively documented. Still, for a two-chart nested-input tool the description never confirms that both owner and pet charts are required or what the score means interpretively (e.g., what counts as compatible).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents the owner/pet birth-data objects, timezone handling, fields and precision in depth. The description adds nothing about inputs, which is acceptable at baseline but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific deliverable (a 0-100 compatibility score) and the method (element + sign distance), which is concrete. It does not explicitly contrast with the many relational synastry/match siblings, though the pet-scoped name and the phrase 'owner-pet' implicitly separate it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this over alternatives such as astroway_relational_match_score or the pet temperament tools, and no prerequisite guidance. The reader must infer usage entirely from the name and the scoring formula.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_personalityPet Personality ProfileCRead-onlyIdempotentInspect
Full personality breakdown.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| quirks | No | |
| element | No | |
| sunSign | No | |
| bestSuited | No | |
| disclaimer | No | |
| temperament | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description does add genuinely useful non-schema context that annotations omit: a credit cost of 10 (Tier 1) and the Pet Astrology grouping. It says nothing about return shape or limits, but with an output schema present and annotations covering safety, a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the core statement, with no filler. The metadata lines are compact and arguably useful. It is efficient, though its brevity shades into under-specification rather than pure conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool in a dense family of near-identical pet-analysis siblings, the description omits what makes it distinct, what the breakdown contains, and what the required birth data represents. The output schema relieves it of describing return values, and annotations cover safety, but the differentiation and input-orientation gaps are significant for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate for the undocumented ones (city, name, date, time, latitude, longitude, cosmogram, zodiacType, houseSystem, ayanamsaId). It supplies zero parameter information – not even that a pet's birth date, time, and coordinates are required. The schema does document fields/ayanamsa/timezone/precision/timezoneOffset well, but the description leaves the coverage gap entirely unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase "Full personality breakdown" names a resource (pet personality) and implies a verb (produce an analysis), so the general purpose is discernible. However, it never distinguishes itself from close siblings like astroway_pet_temperament, astroway_pet_sun_sign_meaning, or astroway_pet_communication_style, which all read as personality-adjacent. The word "Full" hints at breadth but no concrete scope is given.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no when-to-use guidance, no prerequisites, and no routing to alternatives, despite thirteen sibling pet tools that could plausibly be chosen instead. The only bracketed metadata is group and cost, which is not usage guidance. An agent must guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_play_stylePlay Style + ToysDRead-onlyIdempotentInspect
Preferred play and toy types.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| play | No | |
| sunSign | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The only added behavioral fact is the 10-credit Tier 1 cost, which is real but boilerplate. Nothing about what the reading contains, how heavy the computation is, or failure modes is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line is front-loaded and wastes no words, and the bracketed metadata is compact. However its brevity here reflects under-specification rather than efficient communication, since a single fragment cannot carry the load of a 15-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover safety. But for a 15-parameter, credit-costed chart computation, the description supplies neither usage context nor parameter help, leaving the agent with substantially less than it needs to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
15 parameters with only 33% schema description coverage, and the description explains none of them. Required fields (date, time, latitude, longitude) and the many optional astrological controls (ayanamsa, zodiacType, houseSystem, timezone) are left entirely to the schema, which itself is sparse. The description does not compensate for the coverage gap at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description "Preferred play and toy types" essentially restates the title "Play Style + Toys" and the name astroway_pet_play_style without adding a distinct verb, scope, or output framing. It does not distinguish this from near-neighbors such as astroway_pet_exercise_needs or astroway_pet_temperament. This is close to tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is provided. With ~25 pet-related siblings, an agent has no textual basis for choosing this tool over astroway_pet_exercise_needs, astroway_pet_training_style, or astroway_pet_temperament. The group/cost metadata is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_sun_sign_meaningPet Sun-Sign MeaningCRead-onlyIdempotentInspect
Personality + temperament + best-suited household.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| sunSign | No | |
| disclaimer | No | |
| personality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuine behavioral value by disclosing the cost (10 credits, Tier 1), which is not in any structured field, but it says nothing about computation, auth, or what happens with missing inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the group/cost tags are front-loaded, but the body is an under-specified fragment rather than a complete statement, so brevity comes at the cost of information rather than from efficient editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a 15-parameter chart-calculation tool requiring date, time, and coordinates, the description omits input requirements, timezone handling, and any usage context. An agent has almost nothing to act on beyond the cost tag.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description is expected to compensate, and it does not mention a single parameter. The four required inputs (date, time, latitude, longitude) carry no descriptions anywhere, and complex fields like timezone vs timezoneOffset are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun fragment listing output categories ("Personality + temperament + best-suited household") rather than a verb+resource statement of what the tool computes. It never says it derives meaning from the pet's Sun sign, and it fails to distinguish itself from siblings astroway_pet_personality and astroway_pet_temperament, whose names overlap directly with the stated outputs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives, despite many near-identical pet siblings. The [Group: Pet Astrology] tag gives domain placement only, which is not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_temperamentPet TemperamentCRead-onlyIdempotentInspect
Short temperament-only summary.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| quirks | No | |
| element | No | |
| sunSign | No | |
| disclaimer | No | |
| temperament | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is covered. The description usefully adds billing context (10 credits, Tier 1) that annotations do not carry. It stops short of explaining anything about the computation or data dependencies, so it adds moderate value only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly front-loaded: the core purpose leads and group/cost tags follow as metadata. No sentence is wasted. It is perhaps overly terse, but the dimension rewards efficiency and it delivers that.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrological computation tool embedded among ~14 similar pet_* tools, a single-line description is inadequate. The output schema covers return values, so that is not the gap; the gap is that nothing explains inputs, computation basis, or how it differs from sibling pet reports. An agent lacks enough to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a compensation burden it does not meet. It mentions no parameters at all (not date, time, coordinates, ayanamsa, or houseSystem), leaving required inputs like latitude/longitude undocumented in prose. The low coverage plus zero description contribution yields a 2.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Short temperament-only summary' names the resource (a temperament summary) but gives no verb and no scope detail. It fails to distinguish itself from the close sibling astroway_pet_personality, which an agent could easily confuse with it. Purpose is implied but not sharp.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many pet_* siblings (pet_personality, pet_play_style, pet_communication_style, pet_birth_chart). The only extra context is group/cost metadata, which does not guide selection. An agent must guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_pet_training_styleTraining StyleCRead-onlyIdempotentInspect
Preferred training style + 3 tips.
[Group: Pet Astrology] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sunSign | No | |
| training | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds only the cost disclosure (10 credits, Tier 1) and group tag, which is genuinely useful budget information but says nothing about what data is consumed or how results are shaped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded with the deliverable, which is good, but it is under-specified rather than efficient — the single content line does not carry enough information to justify the omission of usage and input guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but for a 15-parameter chart tool with 33% schema coverage the description should at least indicate that a birth date/time/place is required and how this result differs from the other pet tools. It does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description compensates for none of it. The four required parameters (date, time, latitude, longitude) are undocumented in both places, and the enums and compact-mode options are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the deliverable ('Preferred training style + 3 tips'), so an agent knows roughly what content comes back, but there is no verb and no mention that it derives from birth-chart data, which is the tool's actual operation. It sits adjacent to siblings like astroway_pet_play_style and astroway_pet_temperament without stating how it differs from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisites (e.g. that date/time/lat/long are required), and no routing to or away from sibling tools such as astroway_pet_play_style. The agent must infer everything about invocation context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_firdariaFirdariaBRead-onlyIdempotentInspect
Calculate Firdaria planetary periods: the traditional Persian time-lord system based on sect and planet order.
[Group: Prognostics] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the number of years of firdaria periods to return. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| periods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the credit cost (20 credits, Tier 2) and group label, which is useful operational context, but it does not disclose that sect is derived from the chart, the default period-length behavior, or any limits on the returned span.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence naming the verb, resource and domain, followed by two bracketed metadata tags. Nothing is redundant and the essential concept arrives first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the input schema is fully documented. The description is adequate for invoking the tool; the only real gap is guidance on the computed span and how sect influences results, which is minor given the schema's depth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested body schema is unusually thorough (format constraints, ayanamsa, timezone handling, houseSystem letters). The description adds nothing about maxYears duration or fields/precision compact-mode parameters, so baseline 3 applies with the schema doing all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and a specific resource (Firdaria planetary periods), then defines the technique as the traditional Persian time-lord system based on sect and planet order. An agent knows exactly what this produces, though it does not explicitly distinguish itself from prognostic siblings like profections or primary directions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to choose this over the many other prognostics tools (profections, primary directions, progressions, returns). The description explains what Firdaria is but never states the use case, prerequisites, or exclusions, leaving the agent to infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_forecast_calendarForecast CalendarBRead-onlyIdempotentInspect
Generate a combined forecast calendar including transits, lunar phases, ingresses, and retrograde stations for a given period.
[Group: Prognostics] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Wrapper { natal: ChartInput } used by endpoints that take a base natal plus extra parameters in flat fields. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | No | |
| cells | No | |
| maxAbsTotal | No | |
| dailySummary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the billing context (100 credits, Tier 4), which is genuinely useful for an agent deciding whether to call it, but says nothing about auth, rate limits, or period constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus two bracketed metadata tags; no filler, no restatement of the title. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations carry the safety profile. However, for a Tier-4 tool with an extremely close sibling, the definition omits the routing guidance an agent needs to choose correctly, leaving it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body/fields/precision thoroughly. The description only says 'for a given period', which does not map cleanly onto the schema's required 'year' field, so it adds little beyond the structured data. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Generate') and resource ('combined forecast calendar') and enumerates the content it produces: transits, lunar phases, ingresses, and retrograde stations. The word 'combined' hints at a superset of the sibling transit_calendar, but the definition never names or contrasts that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only scope hint is 'for a given period'. There is no when-to-use guidance, no statement of when to prefer this over astroway_prognostics_transit_calendar or astroway_prognostics_transits, and no prerequisites or exclusions. With a near-identical calendar sibling present, this is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_lunar_returnLunar ReturnBRead-onlyIdempotentInspect
Find the next date when the Moon returns to its natal longitude. Returns full lunar return chart.
[Group: Prognostics] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| julianDay | No | |
| returnMoment | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety and determinism are covered. The description adds genuinely useful non-annotation context — the 50-credit Tier 3 cost and the fact that a full chart (not a summary) is returned. It says nothing about the two-part input requirement or failure modes, so it adds some value but not rich behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences that front-load the core computation, followed by compact group and cost metadata. No sentence is wasted and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description names the computation and its cost. What it omits is the two-part input shape the schema enforces — natal birth data plus a required afterDate anchoring the search — which is the one thing an agent could easily get wrong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested schema thoroughly documents birth data, afterDate, fields and precision, so the baseline of 3 applies. The description contributes no parameter-level meaning beyond what the schema already carries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — finding the next date the Moon returns to its natal longitude and returning the full lunar return chart. However, it does not distinguish itself from the close sibling astroway_prognostics_planetary_return, which plausibly computes returns for any body including the Moon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not guidance and no named alternative, so the agent must infer from the name alone that this is the Moon-specific case of return charts. The only extra context supplied is grouping and cost, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_minor_progressionsMinor ProgressionsBRead-onlyIdempotentInspect
Calculate minor progressions (lunar month-for-a-year) to a target date. Supports converse direction.
[Group: Prognostics] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus a target date for time-based calculations: progressions, directions, profections, returns. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| julianDay | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds cost ('50 credits (Tier 3)') and group metadata, which is useful behavioral context for budgeting calls, but it says nothing about the calculation's inputs/outputs beyond the converse flag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus bracketed metadata tags; the core purpose is front-loaded and nothing is padded. The cost/group tags are structured rather than prose waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich, fully documented input schema, an output schema, and complete safety annotations, the description only needs to identify the technique and its distinctive option. It does that, though the parenthetical definition of minor progressions is thin for an agent unfamiliar with the technique.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents body, fields and precision, including targetDate, targetTime and targetTzOffset. The description's mention of 'a target date' and 'converse direction' only loosely mirrors two nested parameters and adds no format or default detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('Calculate minor progressions') and defines the technique via the parenthetical '(lunar month-for-a-year)', which is genuinely informative for an astrologer. However, it does not differentiate itself from the many sibling progression/direction tools (progressions, tertiary_progressions, symbolic_directions), so an agent still has to infer which technique applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives among the crowded prognostics siblings. 'Supports converse direction' is a capability note rather than routing guidance, so the agent gets no help deciding between minor progressions and progressions/tertiary_progressions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_planetary_returnPlanetary ReturnBRead-onlyIdempotentInspect
Find all returns of any planet to its natal longitude within a given year. Returns full charts for each return.
[Group: Prognostics] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| returns | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds two genuinely useful non-annotation facts: the result is a set of full charts, and the call costs 50 credits at Tier 3. It says nothing about how many returns can come back or payload size, so it is useful but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the purpose front-loaded, plus compact bracketed group and cost tags. Every sentence carries information and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no prose, and the cost and group tags cover the operationally relevant extras. The remaining gap is the opaque numeric planetId and the year parameter, neither of which the description clarifies for an agent assembling a call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the birth-data and compact-mode fields are documented in exhaustive detail in the schema, so the baseline is 3. The description adds nothing about the parameters themselves; in particular it does not explain how the numeric planetId maps to a planet, which the schema also leaves undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: find all planetary returns to natal longitude within a year, and notes it returns full charts. The phrase 'any planet' implicitly separates it from the sibling astroway_prognostics_solar_return and astroway_prognostics_lunar_return, though it never names them, so the differentiation is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use, when-not-to-use, or alternative guidance. It never tells the agent when a general planetary return is preferable to the planet-specific solar or lunar return siblings, leaving the choice to inference from the '[Group: Prognostics]' tag alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_primary_directionsPrimary DirectionsBRead-onlyIdempotentInspect
Calculate primary directions (Ptolemaic or Regiomontanus) up to a maximum age. Returns a timeline of directed aspect hits.
[Group: Prognostics] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the directional rate in degrees per year (Naibod 0.9856353 by default), the age to search to, and the aspect angles to test. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| directions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds the method variants and that output is a timeline of aspect hits, but says nothing about cost implications beyond the tag, computation weight, or what the 'key' rate selects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and the return value, with no filler. The trailing group/cost tags are metadata rather than prose, so the core text is tight, though the description is arguably too terse for a Tier 3 niche technique.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists and annotations cover the safety profile, the definition does not need to explain return values or side effects. What remains missing is routing guidance among numerous prognostics siblings and any hint about the direction rate/method selection, making it minimally adequate for a specialized tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, fields, precision, maxAge, key, and aspectAngles in detail. The description only loosely gestures at maxAge ('up to a maximum age') and does not clarify the Ptolemaic/Regiomontanus distinction against the numeric 'key' rate parameter, so it neither adds nor detracts much.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate primary directions'), names the two supported method variants (Ptolemaic or Regiomontanus), and gives the scope ('up to a maximum age') plus the return shape. It does not, however, distinguish itself from closely related siblings such as symbolic_directions or minor_progressions, so an agent must already know the difference between primary and symbolic directions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative among the many prognostics siblings. The phrase 'up to a maximum age' hints at a scope limit but never tells the agent how to choose this tool over transit_calendar, progressions, or symbolic_directions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_profectionsProfectionsBRead-onlyIdempotentInspect
Calculate annual profections: profected Ascendant, lord of the year, activated house, and monthly profection sub-rulers.
[Group: Prognostics] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus a target date for time-based calculations: progressions, directions, profections, returns. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mc | No | |
| age | No | |
| sun | No | |
| moon | No | |
| ascendant | No | |
| signIndex | No | |
| lordOfYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered structurally. The description's genuine addition is the billing context (20 credits, Tier 2) and the group tag, which is useful but thin; it says nothing about computation behavior or constraints beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence lists the computed outputs with no filler, followed by compact group and cost tags. Nothing is wasted, though the tags are metadata rather than explanatory content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and the rich body schema covers inputs. For a read-only calculation tool the description is adequate, with only the sibling-routing guidance missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, fields, and precision thoroughly, including the natal-plus-target-date structure. The description adds no parameter-level detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Calculate') and resource ('annual profections') and enumerates the concrete outputs: profected Ascendant, lord of the year, activated house, and monthly sub-rulers. This distinguishes it from sibling techniques like progressions, returns, directions, and firdaria by naming the technique, though it never explicitly contrasts with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: nothing tells the agent when to pick profections over firdaria, progressions, or the various return tools, nor does it explain the role of the required target date in driving the annual calculation. Usage is only inferable from the technique name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_progressionsSecondary ProgressionsARead-onlyIdempotentInspect
Calculate secondary progressed chart (day-for-a-year) for a target date. Returns progressed planets, angles, and aspects to natal.
[Group: Prognostics] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus a target date for time-based calculations: progressions, directions, profections, returns. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| julianDay | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, so the safety bar is covered. The description adds genuinely useful context beyond that: the returned content (progressed planets, angles, aspects to natal) and the cost tier (50 credits, Tier 3), which matters for an agent managing quota.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with zero filler: verb first, output second. Group and cost metadata sit cleanly at the end without obscuring the core statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the body schema is exhaustively documented, so return values and parameters are adequately covered. The remaining gap is orientation within a large prognostics family: nothing explains why one would choose this over tertiary/minor progressions, which is what an agent most needs here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the nested body, fields, precision, targetDate, converse and targetTime parameters are already documented in the schema. The description only obliquely echoes 'target date' and adds no format or semantics beyond it; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and resource (secondary progressed chart) and pins down the technique with '(day-for-a-year)', which is a real differentiator. However, it never names or contrasts the adjacent progression siblings (tertiary, minor progressions) that an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to pick secondary progressions over tertiary or minor progressions, nor any prerequisite (valid natal birth data, target date semantics). The agent is left to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_rectificationRectificationBRead-onlyIdempotentInspect
Rectify an approximate birth time using a list of life events and transit/direction hits to narrow the birth time window.
[Group: Prognostics] [Cost: 500 credits (Tier 6)] ⚠️ Heavy — confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| orb | No | ||
| events | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| methods | No | ||
| baseInput | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| stepMinutes | No | ||
| searchRangeMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| candidates | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is covered. The description adds genuinely new behavioral context the annotations lack: the 500-credit Tier 6 cost and the explicit instruction to confirm with the user first, which materially changes invocation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of purpose followed by structured Group/Cost metadata; the core meaning and the cost caution are front-loaded with no wasted prose. The cost block is repetitive but serves a routing function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the cost/confirmation guidance is present. Still missing for a complex 8-parameter, nested-object tool: what the search window knobs do and how the result is shaped (e.g. a narrowed time window with confidence).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 38% across 8 parameters, so the description must compensate and largely does not. It hints at 'life events' and 'transit/direction hits' but never explains orb, stepMinutes, searchRangeMinutes, the primary/symbolic/progression method toggles, precision or fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (rectify) plus resource (birth time) and the inputs that drive it (life events, transit/direction hits), so the tool's function is unmistakable. It does not, however, distinguish itself from the close sibling astroway_prognostics_rectification_trutine, which an agent would need to choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'Rectify an approximate birth time', and the cost line adds an actionable procedural rule ('confirm with user before invoking'). But there is no explicit when-to-use versus the other rectification tool or when rectification is premature (e.g. no events supplied).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_rectification_trutineTrutine of HermesBRead-onlyIdempotentInspect
Apply the Trutine of Hermes (Animodar) technique to derive the birth time from the Moon's prenatal syzygy position.
[Group: Prognostics] [Cost: 250 credits (Tier 5)] ⚠️ Heavy — confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| syzygyDate | No | |
| syzygyType | No | |
| moonAtSyzygy | No | |
| correctedTime | No | |
| correctedAscendant | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, non-destructive read. The description adds materially new behavior the annotations cannot convey: a 250-credit Tier 5 cost and an explicit requirement to confirm with the user before invoking. It stops short of describing runtime behavior such as computation time or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences front-loaded with the technique and its output, followed by clearly delimited Group and Cost metadata. Nothing is padded, though the cost warning is slightly redundant with the tier label.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a 15-parameter technique-specific tool, though, the description leaves key gaps: what the required date/time/lat/long represent, and what a 'derived birth time' result looks like in relation to the input chart. Adequate to select the tool, thin for calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description must compensate and does not — it says nothing about date, time, latitude, longitude, or how timezone/ayanamsa/houseSystem affect a rectification result. It does not even clarify whether the required date/time is the recorded birth data being rectified or something else, which is the single most important semantic question here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific technique (Trutine of Hermes / Animodar) and the concrete outcome: deriving birth time from the prenatal syzygy Moon position. That is far more specific than the sibling astroway_prognostics_rectification, but the description never acknowledges that generic sibling or explains how the two differ, so an agent must infer the routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '⚠️ Heavy — confirm with user before invoking' note is genuine usage guidance about the invocation decision, and the cost tier frames it as expensive. However, there is no statement of when to choose this over astroway_prognostics_rectification or the other prognostics tools, nor what preconditions (known approximate birth data) are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_solar_returnSolar ReturnBRead-onlyIdempotentInspect
Find the exact moment when the Sun returns to its natal longitude in a given year. Returns full solar return chart.
[Group: Prognostics] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| julianDay | No | |
| returnMoment | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety and repeatability profile is covered. The description adds the cost (50 credits, Tier 3) and that a full chart is returned, but says nothing about pagination, error behavior, or how the year interacts with the natal moment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences that lead with the core computation and the returned artifact, followed by compact group/cost tags. Nothing is wasted, though the cost tag is separate metadata rather than part of the prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be described, and annotations cover safety. However, it omits a meaningful domain point: whether locationLat/locationLng relocate the return chart or the year parameter overrides the natal date. That ambiguity is a genuine gap for a chart-casting tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so date, time, timezone, houseSystem, year, fields and precision are all documented in the schema itself. The description adds no parameter-level detail, which is the correct baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Find the exact moment when the Sun returns to its natal longitude in a given year') and states the output ('Returns full solar return chart'). It implicitly separates itself from astroway_prognostics_lunar_return and astroway_prognostics_planetary_return by specifying the Sun, but never explicitly differentiates from those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus lunar_return, planetary_return, or the transit/forecast tools. Only the group tag [Group: Prognostics] and cost tier are given, which is metadata rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_symbolic_directionsSymbolic DirectionsBRead-onlyIdempotentInspect
Calculate symbolic arc directions to natal points for a target date. Key: "one_degree" (default), "naibod", or "solar_arc" (the arc of the progressed Sun).
[Group: Prognostics] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus a target date and the directional key: one degree per year, the Naibod rate, or the arc of the progressed Sun. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| arc | No | |
| key | No | |
| houses | No | |
| planets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the meaning of the directional keys (notably solar_arc being the progressed Sun's arc), which is useful context, but says nothing about permissions, credits being consumed at call time, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and then the key options, with the group/cost metadata kept separate. Efficient, though the parenthetical about solar_arc could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full schema coverage, and rich annotations, the description does not need to explain return values. It is adequate for calling the tool correctly, but the absence of any routing guidance among the many prognostics siblings leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description goes further by explaining what each key value means and which is the default ('one_degree' default, 'solar_arc' = arc of progressed Sun), information the bare enum lacks. It adds no detail on fields/precision, which the schema already documents well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Calculate symbolic arc directions to natal points for a target date'), which is clearly distinct from primary directions or progressions in the sibling list. It does not explicitly name or contrast those siblings, so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance relative to siblings like astroway_prognostics_primary_directions or astroway_prognostics_progressions, and no prerequisites stated. The only usage hint is the implied 'for a target date', which is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_tertiary_progressionsTertiary ProgressionsBRead-onlyIdempotentInspect
Calculate tertiary progressions (day-for-a-lunar-month) to a target date. Supports converse direction.
[Group: Prognostics] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus a target date for time-based calculations: progressions, directions, profections, returns. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| julianDay | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds two traits beyond them: that a converse (reverse) direction is supported, and that the call costs 50 credits at Tier 3, which lets the agent weigh it against astroway_cost_estimate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the technique definition front-loaded, plus compact structured metadata lines for group and cost. Nothing is wasted, though the bracketed metadata is boilerplate rather than explanatory prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, so return values and safety need no explanation. The remaining gap is the one thing structured fields cannot supply: disambiguation from the closely related progressions tools, which the description leaves entirely to the reader.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, fields and precision in detail, including the converse flag and targetDate. The description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('tertiary progressions'), and the parenthetical '(day-for-a-lunar-month)' defines the technique so the agent knows what is actually computed. However, it never distinguishes this from the sibling tools astroway_prognostics_progressions (secondary) and astroway_prognostics_minor_progressions, which is the main ambiguity in this tool family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and names no alternatives, despite sitting in a dense prognostics family where progressions, minor_progressions, primary_directions and symbolic_directions are all plausible confusions. 'to a target date' implies a usage context but does not tell the agent when this technique is the right choice over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_transit_calendarTransit CalendarBRead-onlyIdempotentInspect
Build a month-by-month transit calendar for a natal chart showing exact dates of aspect ingresses and partile hits.
[Group: Prognostics] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Wrapper { natal: ChartInput } used by endpoints that take a base natal plus extra parameters in flat fields. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| events | No | |
| maxOrb | No | |
| endDate | No | |
| startDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds the genuinely useful cost signal (100 credits, Tier 4), which matters for budget-aware planning, but says nothing about computation weight, response size, or how wide a date range is practical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that defines the deliverable, followed by compact metadata lines for group and cost. Nothing is padded, though the cost/group lines are structured metadata rather than descriptive value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the 100-credit cost is disclosed. What is missing is any guidance on choosing this over sibling prognostics tools and any sense of practical date-range or orb boundaries, leaving the agent to guess at invocation strategy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nested natal/startDate/endDate/maxOrb/aspectAngles/transitPlanetIds parameters are already documented. The description indirectly maps to them ('month-by-month' implies the date range, 'ingresses and partile hits' implies aspect angles plus orb) but adds no explicit syntax or defaults beyond the schema. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (build) and resource (transit calendar) with scope (month-by-month for a natal chart) and content (aspect ingresses and partile hits). An agent can distinguish it from a generic transit tool by the calendar/ingress framing, though it never names its closest siblings (astroway_prognostics_transits, astroway_prognostics_forecast_calendar).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the output is but not when to choose it over astroway_prognostics_transits or astroway_prognostics_forecast_calendar, and gives no prerequisites beyond the natal chart. The 'Group: Prognostics' tag and cost line are the only routing hints, which the agent must infer from.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_prognostics_transitsTransitsBRead-onlyIdempotentInspect
Calculate transit planet aspects to natal planets for a given date. Returns applying and separating aspects.
[Group: Prognostics] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| julianDay | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the cost/tier disclosure ('50 credits (Tier 3)') and notes the return flavor (applying/separation aspects), which is useful context beyond the annotations, but says nothing about auth needs, rate limits, or result volume.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus structured metadata lines; the core action is front-loaded and there is no filler. It is efficient, though the metadata tags are more bookkeeping than description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich nested input schema, full annotation coverage and an output schema, the description only needs to add routing and scope context. It states what is computed and returned but omits the one thing the structured data cannot supply: how this differs from the transit_calendar sibling, which is a real gap for a prognostic-category tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, fields and precision thoroughly, including the transitDate requirement. The description adds nothing parameter-specific, which is the expected baseline when the schema carries the full burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate transit planet aspects to natal planets for a given date') and names the return content ('applying and separating aspects'). However, it does not differentiate itself from the very similar sibling astroway_prognostics_transit_calendar or astroway_cosmobiology_transit_midpoints, leaving the agent to guess which transit tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no alternatives named, despite the presence of a near-identical sibling (transit_calendar) that an agent could easily confuse this with. The only routing hint is the '[Group: Prognostics]' tag, which is too weak to count as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psya_cycle_of_becomingArroyo: Cycle of BecomingCRead-onlyIdempotentInspect
Arroyo's evolutionary cycle.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_arroyo_cycle_of_becoming.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| fullCycle | No | |
| currentAge | No | |
| disclaimer | No | |
| currentPhase | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description usefully adds the credit cost (10, Tier 1) and the alias relationship, which annotations do not convey. It says nothing about output characteristics, though the output schema exists to carry that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the brevity reflects under-specification rather than discipline. The bracketed metadata lines (group, cost, alias) are the only structured content, and the one prose sentence is too thin to earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter charting tool with only 33% schema coverage, the description is far too thin; the presence of an output schema excuses it from explaining return values, but nothing covers purpose, usage, or the undocumented parameters. An agent cannot confidently select or configure this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a heavy compensation burden — and it supplies none, mentioning no parameter at all. Several params (fields, timezone, precision, timezoneOffset) are self-documented in the schema, but required params like date/time/latitude/longitude and enums like houseSystem/zodiacType remain unexplained in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reduces to "Arroyo's evolutionary cycle," which essentially restates the title "Arroyo: Cycle of Becoming" without naming a verb or saying what is computed or returned. It does not distinguish this tool from the many sibling psychological/astrology tools (element_balance, cycles_of_becoming, etc.). The only concrete routing information is that it is a Cursor-friendly alias of another tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus its alias twin `astroway_psychological_modern_arroyo_cycle_of_becoming` or the sibling psychological analyses. The group label and cost tier are metadata, not usage guidance. An agent is left to infer the selection criteria entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psya_element_balanceArroyo: Element BalanceCRead-onlyIdempotentInspect
Element distribution and integration.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_arroyo_element_balance.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| counts | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| dominantElement | No | |
| deficientElement | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful non-schema context — the 10-credit Tier 1 cost and the alias relationship — but says nothing about what the analysis computes or what constraints apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and front-loads the one substantive phrase; the bracketed group/cost/alias lines are compact and each carries information. Nothing is padded, though the metadata blocks crowd out any real functional content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but for a 15-parameter chart-calculation tool with low schema coverage the description omits everything an agent needs: what an element balance report contains, how it differs from the integration sibling, and how the required date/time/coordinate inputs drive the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a heavy compensating burden and supplies nothing — no explanation of date/time/latitude/longitude requirements, timezone handling, or the compact-mode fields parameter. The undefined parameters (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId, etc.) are undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Element distribution and integration" largely restates the name and title ("Element Balance") rather than naming a specific operation, input, or output. It gives no verb (compute/generate/analyze) and no mention of a natal chart, so an agent cannot distinguish it from the sibling astroway_psya_element_integration or relational_element_map.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many sibling psychological/Arroyo tools, nor any prerequisites or exclusions. The only routing hint is that it is a 'cursor-friendly alias' for astroway_psychological_modern_arroyo_element_balance, which helps deduplicate but does not explain when this analysis is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psya_element_integrationArroyo: Element IntegrationCRead-onlyIdempotentInspect
Strategies for integrating weak elements.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_arroyo_element_integration.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| counts | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| recommendations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the credit cost (10 credits, Tier 1) and group classification, which is genuinely useful for invocation budgeting, but says nothing about the return format or interpretation depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, with the purpose statement first. The bracketed metadata is slightly noisy but the overall footprint is tight and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool the description is too thin: it omits what is returned, how the 'weak elements' are determined, and whether required date/time/lat/long drive a chart calculation. The output schema and annotations offset this somewhat, but the description itself leaves major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, several inputs (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId) are undocumented in both schema and description. The description contributes no parameter meaning at all, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific output ('strategies for integrating weak elements'), which is more than a restatement of the title, but it never says what the tool actually computes or returns, and it does not distinguish itself from close siblings like element_balance or relational_element_map.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative tool. The agent is left to infer that this is a psychological-interpretation tool rather than a chart calculator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psya_relational_element_mapArroyo: Relational MapCRead-onlyIdempotentInspect
Relational element compatibility map.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_arroyo_relational_element_map.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| synergyWith | No | |
| tensionWith | No | |
| yourDominant | No | |
| partnerSeeking | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds genuinely useful non-schema context: the 10-credit Tier 1 cost and the fact that this is a cursor-friendly alias for the canonical tool. It says nothing, however, about what the map contains or how it is computed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the purpose line, but the brevity reflects under-specification rather than tight editing — the group, cost, and alias tags are metadata fragments rather than substantive guidance. Nothing is wasted, but very little is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart tool with only 33% parameter coverage, the description is far too thin: no statement of what the compatibility map contains, no guidance on required birth data, and no differentiation from sibling element tools. The existence of an output schema excuses it from describing return values, but the input-side and purpose-side gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a heavy burden and contributes nothing — no mention of date, time, latitude/longitude, zodiac type, ayanamsa, or house system semantics. The undocumented parameters (city, date, name, time, cosmogram, zodiacType, houseSystem, ayanamsaId, latitude, longitude) are left to bare types and enums, which the description does not compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a resource ('relational element compatibility map') but as a bare noun phrase with no verb, so what the tool actually computes is left implicit. It does not distinguish itself from the many closely named siblings (element_balance, element_integration, cycle_of_becoming), all of which are 'Modern Psychological' tools. A reader can guess the domain but not the specific operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the element/relational siblings. The only context given is the group tag and credit cost, which is billing metadata rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psya_water_houses_traumaArroyo: Water Houses TraumaDRead-onlyIdempotentInspect
Water-house trauma patterns.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_arroyo_water_houses_trauma.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| h4_roots | No | |
| h8_shared | No | |
| disclaimer | No | |
| h12_unconscious | No | |
| totalPlanetsInWater | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description adds cost tier (10 credits) which is useful, but says nothing about what the tool computes, what inputs it needs, or what the output contains – minimal added behavioral context for a chart-analysis tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, but the content is mostly metadata (group, cost, alias). It is concise without being informative, so it neither wastes much space nor earns it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart tool with an output schema, the description should at least say what it computes and how it relates to its alias target. It relies almost entirely on the schema and annotations, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters, yet the description explains none of them. Required birth-data params (date, time, latitude, longitude) and options like ayanamsa, houseSystem, fields, and timezone are left entirely to the schema, which itself documents only some.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Water-house trauma patterns', which restates the title/name rather than defining what the tool computes or returns. It does not distinguish it from siblings like astroway_psychological_modern_arroyo_water_houses_trauma (of which it is stated to be an alias) nor from the other Arroyo tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternatives guidance is given. The only routing information is 'cursor-friendly alias for X', which tells nothing about selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_arroyo_cycle_of_becomingArroyo: Cycle of BecomingDRead-onlyIdempotentInspect
Arroyo's evolutionary cycle.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| fullCycle | No | |
| currentAge | No | |
| disclaimer | No | |
| currentPhase | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds only the credit cost (10 credits, Tier 1), which is mildly useful, but says nothing about what the computation actually yields or any constraints on core required inputs like date/time/lat/long.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two fragments, no waste in the literal sense, but also no substance — this is under-specification rather than conciseness. The credit/group metadata is front-loaded while purpose is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrological computation with a required date/time/latitude/longitude core, the description omits what the tool produces and how it differs from its many siblings. An output schema reduces the need to document returns, but nothing here addresses invocation or selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is obligated to compensate and does not — it mentions no parameter at all. Fields like ayanamsaId, cosmogram, zodiacType, houseSystem, and name/city defaults are left to the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the title ('Arroyo's evolutionary cycle' vs 'Arroyo: Cycle of Becoming') without a specific verb or resource. It never says what the tool computes or returns, so an agent cannot distinguish it from the many sibling cycle-of-becoming tools (rudhyar_cycles_of_becoming, psya_cycle_of_becoming).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of the competing siblings despite a large cluster of near-identical tools. The only added information is a group label and a credit cost, neither of which helps selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_arroyo_element_balanceArroyo: Element BalanceCRead-onlyIdempotentInspect
Element distribution and integration.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| counts | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| dominantElement | No | |
| deficientElement | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds the cost tier ('10 credits, Tier 1'), which is genuinely useful pre-invocation context, but says nothing about what the result contains or how it is scoped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and free of padding, but the brevity comes from under-specification rather than efficiency: the two lines carry no operational content beyond group and price metadata. Front-loading is moot when there is almost nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrological computation with an output schema and a large family of near-identical siblings, the description leaves the agent unable to distinguish this tool's output from element_integration or the psya/psyg variants. The output schema excuses it from describing return values, but nothing else is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is expected to compensate and does not — it mentions no parameters at all. A handful of the undocumented params (date, time, latitude, longitude, city) are self-evident from name and type, which keeps this above a 1, but the sidereal/house-system options receive no framing from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the title 'Arroyo: Element Balance' in other words ('Element distribution and integration'), with no verb, no statement of what artifact is produced, and no differentiation from the many sibling element tools (astroway_psya_element_balance, astroway_psychological_modern_arroyo_element_integration). An agent cannot tell what this computes or how it differs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no prerequisites, no conditions, and no routing to alternatives such as the element_integration or relational_element_map siblings that clearly overlap. The only contextual signal is the '[Group: Modern Psychological]' tag, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_arroyo_element_integrationArroyo: Element IntegrationCRead-onlyIdempotentInspect
Strategies for integrating weak elements.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| counts | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| recommendations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds the 10-credit Tier 1 cost, which is genuinely useful behavioral information for a paid call, but says nothing about what the tool computes or what conditions affect the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely tight: one topical sentence plus bracketed metadata, with no filler or repetition. It is front-loaded and scannable, though the brevity comes at the cost of substance rather than being an efficient summary of a complete definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrology tool with only 33% schema coverage, the description is far too thin. An output schema exists, so return values need not be explained, but the agent still lacks any indication of required inputs, the sidereal/tropical choice, or how this differs from sibling element tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the schema cannot carry the burden and the description must compensate — yet it mentions no parameter at all. It never hints at the required birth data (date, time, latitude, longitude) or the meaning of ayanamsa, zodiacType, houseSystem, or fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Strategies for integrating weak elements' states the topical output but supplies no verb — it never says it generates/analyzes a chart or produces a report. It also fails to distinguish itself from the near-identical sibling astroway_psychological_modern_arroyo_element_balance. An agent knows the theme but not the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the closely related element_balance or cycle_of_becoming siblings. The only context is metadata tags for group and credit cost, which do not help an agent choose this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_arroyo_relational_element_mapArroyo: Relational MapDRead-onlyIdempotentInspect
Relational element compatibility map.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| synergyWith | No | |
| tensionWith | No | |
| yourDominant | No | |
| partnerSeeking | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered structurally. The description adds only a cost note and nothing about auth, computation semantics, or what 'compatibility' means here, so it contributes almost no behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads a fragment, but the brevity comes from under-specification rather than precision. The bracket metadata lines occupy most of the content while the actual purpose goes unstated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but for a 15-parameter astronomy/psychology tool with opaque enums and no sibling differentiation, this description is far too thin to let an agent invoke it correctly. It omits prerequisites, output shape hints, and any distinction from the many parallel relational/element tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters, only ~33% schema description coverage, and cryptic enum values (houseSystem codes P/K/R/C/W..., ayanamsaId as an undocumented number|null), the description is the place to compensate but says nothing about any parameter. Required inputs date/time/latitude/longitude and the meaning of 'fields' compact mode are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reduces to 'Relational element compatibility map,' which essentially restates the title 'Arroyo: Relational Map' without a verb or any statement of what is actually computed or returned. It does not distinguish this tool from its near-identical siblings, notably astroway_psya_relational_element_map and astroway_psychological_modern_arroyo_element_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer. The only extra content is group/cost metadata ('10 credits (Tier 1)'), which is pricing, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_arroyo_water_houses_traumaArroyo: Water Houses TraumaCRead-onlyIdempotentInspect
Water-house trauma patterns.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| h4_roots | No | |
| h8_shared | No | |
| disclaimer | No | |
| h12_unconscious | No | |
| totalPlanetsInWater | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description's one genuine addition is the cost disclosure (10 credits, Tier 1), which is useful for an agent budgeting calls, but it says nothing about methodology, latency, or what the analysis produces beyond what the output schema already provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single content sentence is front-loaded, but this is under-specification rather than conciseness. Two of the three lines are bracketed administrative metadata, so effectively no substantive text was written for a 15-parameter analysis tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a specialized psychological-astrology technique with 15 inputs and low schema coverage the definition is far too thin. Nothing tells the agent what 'Arroyo water-house trauma' means, when it applies, or how it differs from the sibling psya variant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description must compensate for undocumented fields such as city, date, time, name, latitude, longitude, cosmogram, zodiacType, houseSystem and ayanamsaId — and it compensates for none of them. The required four are self-explanatory by name and pattern, which keeps this above the floor, but the description adds zero semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Water-house trauma patterns' is essentially a restatement of the title 'Arroyo: Water Houses Trauma' with no verb and no statement of what is actually computed or returned. It gives no way to distinguish this tool from the near-identical sibling astroway_psya_water_houses_trauma. It is tautological rather than informative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The sibling list contains an almost duplicate (astroway_psya_water_houses_trauma) plus four other Arroyo-family tools, and the description offers nothing to help an agent choose between them. The [Group] and [Cost] lines are metadata, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_greene_archetypal_figuresGreene: Archetypal FiguresCRead-onlyIdempotentInspect
Archetypal patterns in the chart per Liz Greene.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| figures | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description's only added behavioral fact is the cost (10 credits, Tier 1), which is genuinely useful but thin; it says nothing about computation time, whether the whole-chart is required, or caching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler, and the metadata tags are compact. It is efficient, though arguably under-specified rather than optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What remains missing is enough context to route correctly among the many Greene/Psychological siblings, which is the main incompleteness for a 15-parameter report tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a real burden to clarify inputs. It adds nothing about date/time/lat/long requirements or the sidereal/house-system options, leaving several parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a resource ('archetypal patterns in the chart') and a framework author ('per Liz Greene'), so the general purpose is inferable. However, it does not specify what an 'archetypal figure' result actually contains, and it offers no differentiation from the many sibling Greene tools (individuation_path, lunar_myth, parental_imagos, saturn_shadow) or the nearly identically named astroway_psyg_archetypal_figures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling psychological/archetypal tools. The group and cost tags are metadata, not usage direction, so an agent must guess from the name alone which of the ~40 siblings to select.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_greene_individuation_pathGreene: Individuation PathCRead-onlyIdempotentInspect
Individuation arc per natal chart.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| keyAges | No | |
| doctrine | No | |
| disclaimer | No | |
| individuationMarkers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety traits (readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false), so the description does not need to restate them. It adds useful context in the form of cost (10 credits, Tier 1) and group classification, but says nothing about computation behavior, permissions, or output characteristics beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: a one-line purpose followed by structured group and cost metadata. It contains no filler, though its brevity is partly the cause of the missing guidance rather than pure efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrological calculation with low schema description coverage and many sibling tools, the description is incomplete. Output schema and annotations reduce the burden, but selection guidance and parameter context are still missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is expected to compensate but provides zero parameter meaning. It does not mention required inputs, defaults, enums, or the special compact modes, leaving most parameter semantics undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific astrological resource (Individuation arc per natal chart), but it is a noun phrase rather than a clear action and does not distinguish this tool from similar siblings such as astroway_psyg_individuation_path or other Greene psychological tools. It is not a tautology, but it leaves the agent guessing what operation is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no when-not-to-use guidance, and no named alternative among the many sibling tools. The group and cost metadata do not tell the agent when this individuation path tool should be selected over related psychological or astrological tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_greene_lunar_mythGreene: Lunar MythCRead-onlyIdempotentInspect
Lunar archetypes by sign and house.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| moon | No | |
| theme | No | |
| shadow | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| mythicFigure | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the credit cost and tier, which is genuinely useful non-annotation context, but says nothing about output shape or behavioral limits; with annotations carrying the safety burden a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first sentence and the metadata tags are compact. It is efficiently sized, though its brevity is closer to under-specification than to disciplined concision given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a 15-parameter tool with 33% schema coverage and a very close sibling the description omits required-input context, usage conditions and sibling differentiation. It is not complete enough for an agent to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and it does not - it never mentions date, time, latitude, longitude, houseSystem, zodiacType or any other input. Several parameters are documented only inside the schema, leaving the rest undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope ('Lunar archetypes by sign and house'), so an agent knows roughly what it produces. However it uses a noun phrase with no verb and gives no differentiation from the near-identical sibling astroway_psyg_lunar_myth, so the boundary between them is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only non-descriptive content is the group tag '[Group: Modern Psychological]' and cost '[Cost: 10 credits (Tier 1)]'. There is no statement of when to prefer this tool over astroway_psyg_lunar_myth or the other psychological-modern siblings, and no prerequisites or input expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_greene_parental_imagosGreene: Parental ImagosCRead-onlyIdempotentInspect
Parental imagos analysis.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| shadowMarkers | No | |
| exteriorParent | No | |
| interiorParent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description usefully adds the group and the cost (10 credits, Tier 1), which is real behavioral context an agent may need for budgeting. It does not, however, disclose what inputs drive the analysis or what the result contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded, with no filler sentences. However, it is minimal by under-specification rather than by disciplined editing, and the bracketed metadata lines carry more weight than the actual purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required. But for a 15-parameter analysis tool with only 33% schema coverage and no behavioral or usage detail, the description leaves the agent without enough to invoke it confidently or distinguish it from its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description must compensate and it adds nothing at all. Required fields (date, time, latitude, longitude) and the several undocumented enum/boolean params (cosmogram, ayanamsaId, zodiacType, houseSystem) get no clarification. This is a clear gap given the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Parental imagos analysis" essentially restates the title/name (Greene: Parental Imagos) without stating what the analysis actually computes or returns. It provides no verb+resource distinction from the sibling astroway_psyg_parental_imagos, which appears to be the same concept under a different prefix. An agent cannot tell what this produces versus its neighbors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance anywhere in the description. The presence of a near-identical sibling (astroway_psyg_parental_imagos) makes routing guidance especially valuable, and none is given. The only orientation is the bracketed group and cost tags.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_greene_saturn_shadowGreene: Saturn ShadowCRead-onlyIdempotentInspect
Saturn-as-shadow integration work.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| saturn | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| shadowTheme | No | |
| integrationPrompt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, closed-world, non-destructive behavior, so the safety profile is covered. The only added trait is the cost tag (10 credits, Tier 1), which is genuinely useful, but nothing is said about what the computation requires, whether the four required birth-data inputs are mandatory, or how heavy the operation is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines plus bracketed metadata tags — nothing is padded or repeated, and the purpose statement leads. However, the brevity reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 10-credit psychological report tool, the definition is far too thin. An output schema exists, so return values need not be described, but the description never conveys what the Saturn-shadow analysis contains or what makes the required birth data meaningful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate — and it contributes nothing about any parameter. The schema does richly document a few key fields (fields, ayanamsa, timezone, precision, timezoneOffset), which keeps this above the floor, but city, cosmogram, zodiacType, and the four coordinate/date inputs remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Saturn-as-shadow integration work" largely restates the tool's own title ("Greene: Saturn Shadow") without a concrete verb or resource. It gives no indication of what is actually produced (a report? a chart? an interpretation?) and offers nothing to distinguish it from the near-identical sibling astroway_psyg_saturn_shadow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives. With a sibling named astroway_psyg_saturn_shadow sitting directly in the same family, the omission is especially costly — an agent has no basis to choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_rudhyar_cycles_of_becomingRudhyar: Cycles of BecomingCRead-onlyIdempotentInspect
Outer-planet cycles as becoming.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cycles | No | |
| source | No | |
| doctrine | No | |
| currentAge | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds operational context not present in structured data — the group and the 10-credit (Tier 1) cost — which is genuinely useful, but it says nothing about what the analysis returns or any computation-specific behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the brevity comes from under-specification rather than economy. The one substantive sentence conveys almost no information, so the size does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart tool with an output schema and many close siblings, the description is far too thin: it never says what cycles are computed, what the output represents, or how to choose it over the other cycle-of-becoming tools. The output schema relieves it of explaining return values, but the selection and semantics gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate, and it contributes nothing about any parameter. Required birth-data fields are self-explanatory by name, but undocumented options like zodiacType, houseSystem, and cosmogram get no help from either source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase "Outer-planet cycles as becoming" is a fragment that largely restates the title "Rudhyar: Cycles of Becoming" and adds only the vague qualifier "outer-planet." It does not state what the tool computes or distinguishes it from near-identical siblings such as astroway_psyr_cycles_of_becoming or astroway_psychological_modern_arroyo_cycle_of_becoming.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The only added text is a group tag and a credit cost, neither of which tells an agent when this tool is the right choice over the many sibling cycle-of-becoming variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_rudhyar_lunation_phaseRudhyar: Lunation PhaseCRead-onlyIdempotentInspect
8-phase lunation classification.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| phase | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered and the bar is lower. The description adds one piece of real operational context beyond the annotations: the 10-credit Tier 1 cost, which affects an agent's decision to call it. It says nothing about the computation basis, required auth, or what a lunation phase result contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, front-loaded, and free of filler, which is good, but it is under-specified rather than concise in the productive sense. The bracketed tags consume the entire body and deliver only taxonomy and pricing, leaving no room for scope or constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 15 parameters, 4 required, and only 33% schema coverage, the description is far too thin; the one mitigating factor is that an output schema exists, so return values need not be explained. It is still missing the input premise (that a date/time/location is needed), any exclusion guidance, and any note on how the 8-phase result is produced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description bears responsibility for clarifying the remaining parameters, and it contributes nothing about any of the 15. The four required parameters (date, time, latitude, longitude) have no schema descriptions at all, and the description does not indicate that they must describe the birth/lunation moment. No syntax, units, or defaults are explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the title restated with a qualifier: "8-phase lunation classification" against the name/title "Lunation Phase." It never states what the classification is computed from (a natal chart? a birth moment? transits?) even though the required parameters (date, time, latitude, longitude) imply chart calculation. It also gives no differentiation from the near-identical sibling astroway_psyr_lunation_phase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many lunation/cycle siblings (rudhyar_cycles_of_becoming, psyr_lunation_phase, etc.). The [Group] and [Cost] tags are taxonomy and billing metadata, not usage guidance. An agent has nothing to route on other than the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_rudhyar_personality_keynoteRudhyar: Personality KeynoteCRead-onlyIdempotentInspect
Single-keynote signature for the chart.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| keynote | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context in the form of group and cost (10 credits, Tier 1), but does not describe output behavior, auth needs, or other operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loads the only substantive phrase before the metadata tags. It is concise and structured, though the brevity comes at the cost of clarity and completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 parameters, 33% schema description coverage, many sibling tools, and no explanation of the Rudhyar personality keynote concept, the description is too thin. The output schema removes the need to document return values, but the description still lacks the context needed to invoke this complex tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 15 parameters and only 33% description coverage, leaving many parameters undocumented even in the schema. The description provides no parameter guidance at all, so it fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name/title: 'Single-keynote signature for the chart' adds little beyond 'Rudhyar: Personality Keynote.' It does not explain what a keynote is or distinguish this tool from the similarly named sibling astroway_psyr_personality_keynote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which sibling tools are alternatives. The group and cost tags do not tell an agent when this specific Rudhyar personality keynote should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_rudhyar_symbolic_degreesRudhyar: Symbolic DegreesCRead-onlyIdempotentInspect
Symbolic-degree analysis.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| ackNote | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description's only added behavioral fact is the cost (10 credits, Tier 1) and group membership, which is genuinely useful for an agent deciding whether to spend credits, but it discloses nothing about coverage, computation basis, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: a bare noun phrase plus two bracketed metadata tags. Nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 4-required-parameter astrology computation with defaulted timezone/precision/ayanamsa fields, the description explains nothing beyond cost and group. The existence of an output schema relieves it of explaining return values, but it still fails to say what the analysis produces or how it relates to its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description supplies zero parameter meaning to compensate. Critical fields such as cosmogram, houseSystem (bare enum letters), city, and name are undocumented in both places, so an agent must guess at their semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Symbolic-degree analysis" is essentially a restatement of the tool name (Rudhyar: Symbolic Degrees) and gives no verb, no output, and no distinction from the near-identical sibling astroway_psyr_symbolic_degrees or from rudhyar_lunation_phase / rudhyar_personality_keynote. An agent cannot tell what this computes without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-selection guidance at all. With 40+ siblings in the Modern Psychological / Rudhyar families, the absence of any routing signal is a real gap, though nothing stated is actively misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_rudhyar_transits_as_rebirthRudhyar: Transits as RebirthCRead-onlyIdempotentInspect
Reframe major transits as rebirth.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| rebirthThemes | No | |
| natalRebirthSignatures | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful operational metadata — the credit cost (10, Tier 1) and group — which the annotations do not convey, but says nothing about how transits are selected or what the reframing means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments, purpose first, no filler words. But the bracketed group/cost tags read as appended metadata rather than prose, and the extreme brevity is under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape needn't be restated, but for a 15-parameter astrological computation with 33% schema coverage and no usage guidance, the description leaves an agent without enough context to invoke it correctly or choose it over its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters. The description mentions no parameter at all, so it fails to compensate: notably the four required birth-data fields (date, time, latitude, longitude) and the many optionally-defaulted chart settings are left unexplained beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation on a specific object ('Reframe major transits') and echoes the title's Rudhyar/rebirth framing. However, it never says what the reframing actually produces or how it differs from the near-identical sibling astroway_psyr_transits_as_rebirth, or from astroway_psychological_modern_rudhyar_cycles_of_becoming. Vague enough that an agent cannot confidently pick it over its twins.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or alternative is stated. With 40+ siblings including an almost identically named transits-as-rebirth tool, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyg_archetypal_figuresGreene: Archetypal FiguresCRead-onlyIdempotentInspect
Archetypal patterns in the chart per Liz Greene.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_greene_archetypal_figures.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| figures | No | |
| doctrine | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so safety behavior is covered. The description adds a cost signal (10 credits, Tier 1) and group membership, which is genuinely useful for an agent budgeting calls, but it discloses nothing about computation, latency, or how the psychological synthesis is derived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines, front-loaded with the one-line purpose followed by group, cost, and alias metadata. Nothing is padded, though the metadata block takes up a large share of an otherwise minimal description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 parameters, 4 required geotemporal inputs, and no output explanation needed (an output schema exists), the definition is still thin: it never says what must be supplied, how to choose among the enum-heavy options, or what distinguishes this report from its Greene siblings. An agent could invoke it, but only by guessing at configuration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and it does not mention a single input. It offers no guidance on zodiacType, ayanamsa, or houseSystem selection, which matters for a psychological report where the sidereal/tropical choice changes the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns 'archetypal patterns in the chart per Liz Greene,' which is a specific resource with an attribution, but it largely restates the title 'Greene: Archetypal Figures' without saying what an archetypal figure actually is or which chart factors produce them. The alias note does clarify its relationship to the full canonical name, so it isn't fully tautological, but the purpose remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no comparison against the many Greene/Rudhyar/Arroyo siblings (individuation_path, lunar_myth, saturn_shadow, etc.). The only routing help is the parenthetical alias note pointing to the canonical tool name, which is a naming fact rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyg_individuation_pathGreene: Individuation PathCRead-onlyIdempotentInspect
Individuation arc per natal chart.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_greene_individuation_path.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| keyAges | No | |
| doctrine | No | |
| disclaimer | No | |
| individuationMarkers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is fully covered without the description. The description does add genuinely useful behavioral context that annotations cannot: the 10-credit Tier 1 cost and the Modern Psychological grouping. It says nothing about compute time, failure modes, or what happens with incomplete birth data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines, front-loaded with the purpose, then group, cost, and alias. No filler sentences and the credit cost is easy to scan. The parenthetical alias line is long but does real work for cursor-based name matching.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no prose, and annotations cover the safety profile. Still, for a 15-parameter natal-chart calculation the description leaves the agent unable to judge when this arc is the right analytical lens versus a sibling Greene tool, and it adds no input guidance where schema coverage is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes no parameter meaning at all. Several parameters (city, date, name, time, latitude, longitude, cosmogram, zodiacType, houseSystem, ayanamsaId) are undocumented in both places, so the description fails to compensate for the coverage gap on a tool whose correctness depends on precise birth-time and location input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Individuation arc per natal chart' names a distinct resource and its input source, so the agent knows it is a Greene-school psychological calculation rather than a raw ephemeris. However, there is no verb, no explanation of what the 'individuation arc' actually contains, and nothing that distinguishes it from the many sibling Greene tools (archetypal_figures, lunar_myth, parental_imagos, saturn_shadow) beyond the label.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no routing hints among the large set of psychological-modern siblings. The only operational note is that this is an alias for astroway_psychological_modern_greene_individuation_path, which helps with name resolution but not with tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyg_lunar_mythGreene: Lunar MythCRead-onlyIdempotentInspect
Lunar archetypes by sign and house.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_greene_lunar_myth.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| moon | No | |
| theme | No | |
| shadow | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| mythicFigure | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description usefully adds the cost (10 credits, Tier 1) and the group, which are behavioral facts absent from structured fields, but says nothing about output characteristics or interpretation depth. With annotations carrying the safety burden, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is tightly sized and front-loads the purpose before the bracketed metadata, with zero filler. The only concern is that the brevity shades into under-specification, but structurally each line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart tool with only 33% parameter coverage, the description is far too sparse. Although an output schema exists (so return values needn't be explained), the definition omits any usage context, parameter guidance, or distinction from the five closely related Greene tools, leaving the agent poorly equipped to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 15 parameters at only 33% schema description coverage, and the description explains none of them. Required inputs (date, time, latitude, longitude) and key options (zodiacType, houseSystem, ayanamsaId) are left entirely to the schema, which is itself silent on several of them. The description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource and dimensions: 'Lunar archetypes by sign and house.' However it is a bare noun phrase with no verb and no differentiation from the many Greene siblings (archetypal_figures, individuation_path, parental_imagos, saturn_shadow) that share the same group. An agent can guess the topic but not what the tool computes or returns relative to those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. The description supplies only a group tag, a credit cost, and an alias note, none of which tell the agent which condition should select this tool over the other Greene/psychological tools. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyg_parental_imagosGreene: Parental ImagosCRead-onlyIdempotentInspect
Parental imagos analysis.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_greene_parental_imagos.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| shadowMarkers | No | |
| exteriorParent | No | |
| interiorParent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds one genuinely useful behavioral fact — the 10-credit Tier 1 cost — but says nothing about computation time, output shape, or prerequisites. Adding the cost signal justifies a 3 rather than lower.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines, front-loaded with the purpose and followed by group, cost, and alias routing metadata. Every line is compact, though the alias note is routing housekeeping rather than tool semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but for a 15-parameter analysis tool the description leaves the agent without any understanding of what the analysis computes, when to select it among ~40 siblings, or meaning for the majority-undocumented parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, with 15 parameters and no parameter discussion anywhere in the description. It does not compensate for the undocumented date/time/latitude/longitude inputs, the 25-value houseSystem enum, or the zodiacType choice — all of which the agent must infer from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Parental imagos analysis' names the resource but never says what the tool actually produces or what a 'parental imagos' computation is. It is essentially a restatement of the title, with no verb and no differentiation from the many sibling Greene/Arroyo/Rudhyar analyses beyond the [Group: Modern Psychological] tag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given. The description supplies cost and group metadata but never tells an agent under what circumstances this analysis should be chosen over siblings like greene_archetypal_figures, greene_lunar_myth, or the psyg alias duplicates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyg_saturn_shadowGreene: Saturn ShadowCRead-onlyIdempotentInspect
Saturn-as-shadow integration work.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_greene_saturn_shadow.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| saturn | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| shadowTheme | No | |
| integrationPrompt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds two genuinely useful facts beyond structured data: the 10-credit Tier 1 cost and the alias equivalence. It says nothing about what the analysis returns, but an output schema exists to cover that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines, front-loaded with the subject and followed by group, cost, and alias metadata; nothing is padded. It is efficient, though the brevity reflects under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 4-required astrological computation tool with 33% schema coverage and a rich sibling set, this description is far too thin. An agent gets the cost and the alias but no sense of inputs, expected analysis content, or how to choose it over the many adjacent psychological tools; only the output schema saves it from a 1.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description contributes zero parameter information despite schema description coverage of only 33% across 15 parameters. Required inputs (date, time, latitude, longitude) and undocumented fields (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId) have no explanation in either the schema or the description, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Saturn-as-shadow integration work" essentially restates the title "Greene: Saturn Shadow" without saying what the tool produces or does (a report? a chart? an interpretation?). The alias note tells the agent this duplicates `astroway_psychological_modern_greene_saturn_shadow`, which is identity information rather than purpose, and no verb+resource pairing is established.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance relative to the many Greene siblings (archetypal_figures, individuation_path, lunar_myth, parental_imagos) or the psyg/psya/psyr variants. The only routing hint is the alias parenthetical, which implies the two names are interchangeable but does not say when to prefer one or when this report is the right choice at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyr_cycles_of_becomingRudhyar: Cycles of BecomingCRead-onlyIdempotentInspect
Outer-planet cycles as becoming.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_rudhyar_cycles_of_becoming.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cycles | No | |
| source | No | |
| doctrine | No | |
| currentAge | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds a genuinely useful behavioral fact the annotations do not carry: this call costs 10 credits (Tier 1). It says nothing about response shape or computation depth, but an output schema exists to cover that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short blocks with the core phrase front-loaded and no wasted prose; the alias and cost are stated compactly. It is concise but the brevity is achieved partly by omitting necessary content, which is a content problem rather than a structure one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart tool with 33% schema coverage, the description is far too thin: purpose is left vague, no parameter guidance is given, and no usage context is offered. The output schema excuses it from explaining return values, but everything else an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a heavy compensation burden and provides none — no mention of date/time, coordinates, zodiacType, ayanamsa, houseSystem, or the compact-mode fields/precision options. An agent gets zero parameter meaning from the description beyond what the partially documented schema already shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Outer-planet cycles as becoming" is a poetic restatement of the title ("Rudhyar: Cycles of Becoming") rather than a verb+resource statement. The only concrete information is that this is a cursor-friendly alias for `astroway_psychological_modern_rudhyar_cycles_of_becoming`, which helps name routing but does not tell an agent what the tool actually computes or returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no conditions, and no comparison against siblings such as astroway_psyr_lunation_phase or astroway_psyr_transits_as_rebirth. The group tag ("Modern Psychological") and cost tier are metadata, not usage direction; the alias note only says which duplicate name to prefer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyr_lunation_phaseRudhyar: Lunation PhaseCRead-onlyIdempotentInspect
8-phase lunation classification.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_rudhyar_lunation_phase.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| phase | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and a closed world, so the safety profile is fully covered. The description's only added behavioral fact is the 10-credit Tier 1 cost, which is genuinely useful for budgeting but minimal. It does not say whether the computation depends on the natal chart or the transit moment, which matters for a lunation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very terse and front-loaded: purpose first, then group, cost, and alias, each on its own bracket line. Every element carries information and nothing is padded, though the extreme brevity is as much under-specification as concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrological calculation with an output schema, the description omits the context an agent needs to call it well: what inputs drive the classification, whether it needs a chart or just a moment, and how it relates to its canonical alias. The output schema spares it from explaining return values, but that is the only gap it is excused from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds nothing about any of them. The four required parameters (date, time, latitude, longitude) and the sidereal/tropical and house-system choices are left entirely to the schema, with the ayanamsa and timezone semantics undocumented in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource ('8-phase lunation classification') with a concrete taxonomy hint, but the verb is nominalized and there is no differentiation from siblings such as astroway_psyr_cycles_of_becoming or astroway_psyr_personality_keynote. The alias note tells the agent this duplicates astroway_psychological_modern_rudhyar_lunation_phase, which is useful routing information but not a statement of what the tool computes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternatives among the many Rudhyar/Greene/Arroyo psychological siblings. The agent is told the group and the credit cost but not the condition under which this tool (versus its canonical twin or the other Rudhyar tools) should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyr_personality_keynoteRudhyar: Personality KeynoteCRead-onlyIdempotentInspect
Single-keynote signature for the chart.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_rudhyar_personality_keynote.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| keynote | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds a genuinely useful fact not in structured data: the 10-credit Tier 1 cost. It says nothing else about behavior, but with annotations carrying the main burden a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: the purpose line comes first, then group/cost metadata, then the alias note. Every line is compact, though the alias sentence is only marginally valuable to a selection decision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with only 33% schema description coverage, a vague one-line purpose leaves too much unexplained. Output schema existence relieves the need to describe return values, but the input side and the tool's distinct role among many near-identical siblings are not covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters, and the description contributes zero parameter meaning — no mention of required date/time/lat/lon, the enum choices, compact-mode fields, or timezone handling. With a low coverage rate, the description should compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a 'single-keynote signature for the chart', which partially restates the title 'Rudhyar: Personality Keynote' without explaining what a keynote signature actually is or what it contains. It does at least identify the resource as a chart signature and flags the group, but it distinguishes nothing from siblings such as symbolic_degrees or lunation_phase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives named. The only contextual information is the credit cost and the group label, which do not tell an agent when this tool is preferable to the ~40 sibling psychological tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyr_symbolic_degreesRudhyar: Symbolic DegreesCRead-onlyIdempotentInspect
Symbolic-degree analysis.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_rudhyar_symbolic_degrees.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| ackNote | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context: a 10-credit Tier 1 cost and the group membership, which matters for budget-aware agents. It says nothing, however, about what the analysis produces or any computational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, so there is no padding to trim, but the brevity comes from omission rather than efficiency: three of the four lines are metadata tags (group, cost, alias) instead of substantive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a 15-parameter geolocation-and-time chart tool the description gives no indication of required inputs, what the symbolic-degree computation yields, or how it relates to its near-identical long-name sibling. The coverage gap at 33% is not addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is expected to compensate and does not mention a single parameter. The alias sentence provides no parameter guidance, so several parameters (city, name, cosmogram, zodiacType, houseSystem, precision, fields) remain undocumented or thinly documented in either place.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Symbolic-degree analysis" essentially restates the tool name and title without saying what is actually computed (Sabian symbols? degree meanings? which planets?). The one piece of real information is the alias disclosure, which tells an agent this duplicates `astroway_psychological_modern_rudhyar_symbolic_degrees`, but that is a routing note rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or prerequisite guidance is given. The alias note implies it is interchangeable with the long-named sibling, but it never says which one an agent should prefer, nor when symbolic-degree analysis is appropriate versus the other Rudhyar tools such as lunation_phase or personality_keynote.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyr_transits_as_rebirthRudhyar: Transits as RebirthCRead-onlyIdempotentInspect
Reframe major transits as rebirth.
[Group: Modern Psychological] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_rudhyar_transits_as_rebirth.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| rebirthThemes | No | |
| natalRebirthSignatures | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds genuinely useful context beyond that: the credit cost (10 credits, Tier 1) and the alias relationship. It does not disclose anything about output format, required inputs, or computation, so it is only modestly additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the purpose before the metadata brackets, with no filler sentences. However, for a 15-parameter tool with real complexity, this level of brevity is under-specification rather than effective conciseness. Every sentence earns its place, but too little is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. But a complex chart-calculation tool with 15 parameters, 4 required, and only 33% schema coverage leaves the agent without the required-input or parameter-selection guidance it needs to call the tool correctly. The definition is materially incomplete for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, well below the 50% threshold, so the description is expected to compensate but adds nothing. It never mentions the four required inputs (date, time, latitude, longitude) or any of the optional astrological controls (ayanamsa, houseSystem, zodiacType, timezone). The schema does carry helpful text on the few documented fields, but the description contributes zero parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific concept ('reframe major transits as rebirth') within Rudhyar psychological astrology, so the domain is identifiable. However, it never states what the tool actually produces or does computationally, and 'reframe' is metaphorical rather than a concrete verb+resource. It does not differentiate itself from the near-identical canonical sibling `astroway_psychological_modern_rudhyar_transits_as_rebirth` beyond the alias note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling psychological tools (cycles_of_becoming, lunation_phase, symbolic_degrees, etc.). The only routing hint is that it is a 'Cursor-friendly alias' for the canonical name, which tells the agent nothing about the circumstances that should select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reference_natal_textsNatal texts (static)ARead-onlyIdempotentInspect
Edited interpretation texts for a chart, no AI at request time. keys is a comma list of up to 64: sun.aries (planet in sign, also chiron, ascendant), moon.h4 (planet in house), sun_moon.trine (major aspect between two of Sun..Pluto). lang is required; a text that does not exist in that language is listed in missing, never replaced by another language. Planet in…
[Group: Reference] [Cost: 10 credits (Tier 1)]
Keys with no text in the requested lang come back listed in missing, not in texts. Do not invent, translate or guess a replacement body for a key that comes back in missing; report it as unavailable.
| Name | Required | Description | Default |
|---|---|---|---|
| keys | Yes | Comma list of up to 64 distinct keys: `<body>.<sign>` (planet in sign, also `chiron`, `ascendant`), `<body>.h<1-12>` (planet in house), `<body>_<body>.<aspect>` (conjunction, sextile, square, trine, opposition between two of Sun..Pluto). | |
| lang | Yes | Language of the texts. No fallback: a text missing in this language is listed in `missing`. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lang | No | |
| texts | No | |
| missing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's key contribution is behavioral: no cross-language fallback, missing keys surface in `missing` rather than `texts`, and a direct instruction not to invent/translate replacements. This is real context beyond the structured fields, though it does not cover cost tiers or batching limits in the description body.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and key grammar are front-loaded, which is good, but the text is marred by a truncated fragment ('Planet in…') and by stating the `missing`-vs-`texts` behavior twice (once inline, once in the trailing paragraph). The redundancy consumes space without adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a four-parameter tool the description covers the required params, their formats, and the important edge case of unavailable texts, leaving only the compact-mode params (covered by the schema) undocumented in prose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including the full key grammar and enum for `lang`, so the schema already carries the parameter semantics. The description restates the key examples rather than extending them, which meets the baseline but adds no new meaning; `fields` and `precision` appear only in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Edited interpretation texts for a chart') and adds a genuine differentiator: 'no AI at request time,' which separates it from AI-driven siblings like astroway_mcp_ai_explain_aspect. It does not name a specific sibling to contrast against, but the static/AI distinction lets an agent route it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the static, deterministic nature of the texts vs. AI tools is gestured at, and the `missing` semantics are explained, but there is no explicit when-to-use/when-not framework or named alternative. The agent can infer intent but must reason about it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_relational_coalescentCoalescent ChartBRead-onlyIdempotentInspect
Calculate a coalescent chart: the harmonic chart that resonates most strongly between two charts.
[Group: Comparisons] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| input1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| input2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| chartSect | No | |
| julianDay | No | |
| houseAspects | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds genuinely useful context beyond the annotations: it is a Tier 3 operation costing 50 credits and belongs to the Comparisons group, which matters for cost-aware planning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus bracketed metadata, front-loaded with the verb and the definition. Nothing is padded, though the bracket tags are mechanical rather than explanatory.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is exhaustive, so return values and parameters are covered. What is missing is the one thing only the description can supply: disambiguation from the large family of two-chart relational siblings, which leaves the agent guessing at selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested input1/input2 objects carry very detailed field docs (timezone, ayanamsa, houseSystem letters, rejected short forms), so the schema does the heavy lifting. The description adds nothing about fields, precision, or the compact-mode behavior, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate a coalescent chart') and defines the term as 'the harmonic chart that resonates most strongly between two charts', which conceptually separates it from midpoint-style composite or davison tools. However, it never names the sibling relational tools (relational_composite, relational_davison, relational_synastry, relational_match_score) an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives named, despite roughly seven sibling relational tools that all take two charts. The phrase 'between two charts' implies the context but leaves the agent to infer when a coalescent chart is preferable to a composite, davison, or synastry result.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_relational_compositeComposite ChartBRead-onlyIdempotentInspect
Calculate a midpoint composite chart by averaging the planetary positions and house cusps of two natal charts.
[Group: Comparisons] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| julianDay | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is covered structurally. The description adds one genuinely useful behavioral fact not in the annotations: a cost of 50 credits (Tier 3). It says nothing about what the response contains, though the output schema exists to cover that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the core action and method, then the group and cost metadata. Every sentence earns its place; no padding or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and it correctly states inputs ('two natal charts'). What is missing is disambiguation from the crowded family of composite/Davison/synastry tools, which is the main risk for an agent selecting this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the nested chart1/chart2 schemas fully document date, time, coordinates, timezone handling and house system, so the description is not required to carry parameter meaning. It adds no parameter detail beyond what the schema already provides, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Calculate a midpoint composite chart') and even states the method ('averaging the planetary positions and house cusps of two natal charts'), so an agent knows exactly what is produced. It does not, however, distinguish itself from sibling relational techniques such as astroway_relational_davison, astroway_relational_coalescent, or astroway_render_composite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to prefer this composite over Davison, coalescent, or synastry tools, and no prerequisites or alternatives are named. The '[Group: Comparisons]' tag is a thin hint at context but does not route the agent between the many sibling comparison and composite endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_relational_davisonDavison ChartBRead-onlyIdempotentInspect
Calculate a Davison relationship chart using the midpoint in time and space between two birth moments.
[Group: Comparisons] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| midpoint | No | |
| chartSect | No | |
| julianDay | No | |
| houseAspects | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description's one real addition is the cost disclosure ('50 credits (Tier 3)'), which is useful billing context an agent cannot get from annotations or schema. It says nothing about output shape or error behavior, but the output schema covers returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that carries the definition, followed by two short metadata tags. No filler, no restatement of the name, and the computational essence is stated first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values are covered by the output schema and safety by annotations, and the nested parameter objects are fully documented. The only substantive hole is family disambiguation — nothing tells the agent how this differs from composite or coalescent — but for a calculation tool with rich schema support the definition is otherwise sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the nested birth-data objects documented exhaustively (timezone vs timezoneOffset, houseSystem letters, rejected short forms). The description only echoes 'two birth moments', which maps to the required chart1/chart2 pair, and says nothing about the optional fields or precision parameters. Baseline 3 is correct when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate a Davison relationship chart') and even explains the defining method — the midpoint in time and space between two birth moments. That is genuinely informative. However, it never names the sibling it must be distinguished from (astroway_relational_composite, which is the adjacent concept in the Comparisons family), so the agent must already know Davison theory to pick correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only routing signal is the '[Group: Comparisons]' tag. There is no statement of when to prefer this over astroway_relational_composite, astroway_relational_coalescent, or astroway_relational_synastry, and no prerequisites or exclusions. For a family with four near-identical relationship-chart tools, that gap is significant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_relational_group_synastryGroup SynastryBRead-onlyIdempotentInspect
Calculate synastry aspects among 2–8 charts simultaneously, returning all pairwise cross-chart aspect matrices.
[Group: Comparisons] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| inputs | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pairs | No | |
| charts | No | |
| matrix | No | |
| averageScore | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds two things those fields do not carry: the operational cost (100 credits, Tier 4) and the shape of the result (all pairwise cross-chart aspect matrices), which tells the agent the output volume scales quadratically with input count.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed lines: the capability statement first, then bracketed group and cost metadata. No filler, no restatement of the title, and the scoping constraint ('2–8 charts simultaneously') is front-loaded where it matters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the cost line covers the main operational unknown. Still, for a tool taking an array of full birth-data objects the description omits that inputs are per-chart natal birth data, gives no guidance against the pairwise sibling, and its 2–8 claim conflicts with the schema's maxItems of 10.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the description adds nothing about `fields` or `precision`, so it neither compensates nor extends the schema there. Worse, it states a chart range of '2–8' while the schema's inputs array declares minItems 2 and maxItems 10, so an agent trusting the prose would wrongly refuse a 9- or 10-chart request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate synastry aspects') plus the distinguishing scope ('among 2–8 charts simultaneously', 'all pairwise cross-chart aspect matrices'), which separates it from the two-chart astroway_relational_synastry sibling. It never names that sibling or any other alternative, so the differentiation is implied by scope rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool computes but gives no when-to-use or when-not-to-use guidance: nothing about preferring this over astroway_relational_synastry for a pair, over astroway_relational_synastry_aspect_grid, or over the composite/Davison tools. The credit tier hints at cost sensitivity but stops short of any routing advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_relational_match_scoreMatch Score (dating compatibility)ARead-onlyIdempotentInspect
One-call dating-compatibility aggregate over the synastry engine: overall score (0-100) + label + harmony/tension, the attraction score (Venus-Mars / Moon-Venus / 5th-house), the most influential cross-aspects, and green/red flags surfaced from those aspects. Built for dating apps that want a single call instead of synastry + attraction + their own flag logic. Same TwoChart in…
[Group: Comparisons] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| label | No | |
| score | No | |
| harmony | No | |
| tension | No | |
| redFlags | No | |
| attraction | No | |
| greenFlags | No | |
| topAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds the aggregation behavior and the credit tier (50 credits, Tier 3), which is genuinely useful, but it largely enumerates return contents that the output schema already documents, so the net addition is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the aggregate purpose and the return payload, then the routing guidance, with little waste. The trailing 'Same TwoChart in…' is truncated mid-sentence, which slightly hurts structure but the delivered content is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only aggregate with a full output schema and thoroughly documented nested input objects, the description covers what an agent needs: what it computes, why to prefer it over composing siblings, and the cost. No major gap remains, though the truncated final sentence leaves a small hole.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested chart1/chart2 objects are richly documented in-schema (timezone handling, houseSystem letters, rejected short forms). The description says nothing about the parameters, so it adds no meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('one-call dating-compatibility aggregate over the synastry engine') and enumerates exactly what it returns: overall score, label, harmony/tension, attraction score, influential cross-aspects, and green/red flags. This clearly distinguishes it from narrower siblings like astroway_relational_synastry_attraction_score or astroway_relational_synastry_aspect_grid.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames the use case and the alternative: 'Built for dating apps that want a single call instead of synastry + attraction + their own flag logic.' That routes the agent between this tool and composing the narrower siblings. It lacks an explicit when-not-to-use statement or named sibling tools, keeping it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_relational_synastrySynastryARead-onlyIdempotentInspect
Calculate cross-chart aspects between two natal charts for relationship analysis. Either partner may set timeUnknown: true: cross-aspects are still returned, while that partner's houses, angles and sect come back null.
[Group: Comparisons] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data where the clock time may be unknown. Either pass time (HH:mm:ss), or set timeUnknown: true and omit it. In the second case the response carries planets and aspects but no houses, angles or sect. | |
| chart2 | Yes | Birth data where the clock time may be unknown. Either pass time (HH:mm:ss), or set timeUnknown: true and omit it. In the second case the response carries planets and aspects but no houses, angles or sect. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chart1 | No | |
| chart2 | No | |
| crossAspects | No | |
| compatibility | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: with timeUnknown the cross-aspects are still returned while that partner's houses, angles and sect come back null, and it discloses the 50-credit Tier 3 cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and the timeUnknown caveat are front-loaded in two tight sentences, and the bracketed group/cost metadata is compact. Slight redundancy with the schema's own timeUnknown text keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter, nested-object tool with a full output schema present, the description covers the operation and its most important edge case. The main gap is sibling differentiation, since several relational tools overlap in apparent function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both chart objects carry their own detailed descriptions (timezone, ayanamsa, timezoneOffset, timeUnknown), so the schema does the heavy lifting. The description's timeUnknown sentence largely restates what the chart1/chart2 schema already says, adding no syntax or format detail beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Calculate cross-chart aspects between two natal charts') and a use case ('relationship analysis'), which separates it from composite/davison siblings that derive a single merged chart. It does not, however, distinguish itself from the very similarly named astroway_relational_synastry_aspect_grid, which an agent could easily confuse with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus astroway_relational_synastry_aspect_grid, astroway_relational_match_score, or the composite/davison alternatives. The timeUnknown note describes an input edge case rather than usage routing, so an agent gets no explicit selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_relational_synastry_aspect_gridSynastry Aspect GridBRead-onlyIdempotentInspect
NxM matrix of cross-chart aspects between the two charts (default 13×13: Sun..Pluto + nodes + Lilith + Chiron). Cells contain aspect or null.
[Group: Comparisons] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| grid | No | |
| totals | No | |
| bodies1 | No | |
| bodies2 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds useful output-shape context (cells contain an aspect or null; default 13x13 covering Sun..Pluto plus nodes, Lilith and Chiron) and a cost signal (50 credits, Tier 3), but says nothing about error behavior or limits beyond what annotations already give.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences: the core behavior and its default dimensions are front-loaded, and the group/cost tags are compact structured metadata. Nothing is wasted and nothing important is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only computed tool with a full output schema and 100% param coverage, the description adequately explains what is produced, and an output schema removes the need to document return values. However, given the crowded relational-tool family and two large nested chart inputs, the absence of any routing or usage guidance leaves it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the rich nested chart1/chart2 schemas do the heavy lifting and the baseline is 3. The description's mention of the default body set relates to the output matrix rather than to any input parameter, so it adds little parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (an NxM cross-chart aspect matrix between two charts) and even specifies the default grid composition, so an agent knows exactly what artifact this returns. It does not explicitly distinguish itself from neighboring relational tools such as astroway_relational_synastry or astroway_relational_synastry_house_overlay, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no named alternative. With many sibling relational tools (synastry, house_overlay, element_balance, match_score), an agent gets no help deciding when the aspect grid is the right pick versus those overlaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_relational_synastry_attraction_scoreSynastry Attraction ScoreARead-onlyIdempotentInspect
Weighted 0–100 attraction score from Sun-Moon, Mars-Venus, ASC/DSC, Mars-Mars, Sun-Mars, Moon-Venus contacts and 5th-house overlay.
[Group: Comparisons] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| score | No | |
| components | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-redundant context: the cost (50 credits, Tier 3) and the fact that the output is a weighted composite over a fixed set of contact types, which tells the agent the result is deterministic for a given pair of charts. It stops short of describing latency or credit-refund behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence names the weighting and the constituent contacts, followed by two compact metadata tags for group and cost. Nothing is padded or repeated, though the tags are terse enough that they read as structured metadata rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and annotations cover the safety profile. What remains missing is routing guidance against the many sibling synastry/relationship tools. Given the rich nested input schema and cost disclosure, the definition is close to complete but leaves sibling disambiguation to the caller.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with chart1/chart2 carrying extensive prose about timezone handling, house-system letters, and rejected shorthand field names, plus the fields and precision compact-mode parameters. The description adds nothing beyond what the schema already says, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb-and-resource outcome: a weighted 0–100 attraction score derived from named synastry contacts (Sun-Moon, Mars-Venus, ASC/DSC, etc.) and the 5th-house overlay. That is far more specific than the title alone. It does not, however, differentiate itself from the near-identically named sibling astroway_rel_synastry_attraction_score or from astroway_relational_match_score, so an agent cannot tell which of the two attraction/match variants to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no alternatives named despite several overlapping siblings (relational_match_score, rel_synastry_attraction_score, relational_synastry). The agent must infer the selection criteria entirely from the tool name and score composition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_relational_synastry_element_balanceSynastry Element BalanceBRead-onlyIdempotentInspect
Element (fire/earth/air/water) and modality (cardinal/fixed/mutable) tallies for each chart and the combined pair, with dominant and missing elements.
[Group: Comparisons] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chart1 | No | |
| chart2 | No | |
| balance | No | |
| combined | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds the cost tier (50 credits, Tier 3) and group label, which is genuine extra context about resource consumption. It adds nothing else beyond annotations, so a mid score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the returned quantities, followed by compact group and cost metadata. Nothing is wasted, though the sentence is packed and offers no hierarchy or separation of chart-level vs pair-level output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and annotations plus cost cover the behavioral side. For a 4-parameter tool with deep nested inputs, the main gap is the absence of any routing or when-to-use context relative to the crowded synastry sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested chart objects are thoroughly documented in the schema itself (timezone, ayanamsa, houseSystem, fields, precision). The description contributes no parameter-level detail, which is acceptable given the schema does the work, but it earns no credit above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific analytical output: element (fire/earth/air/water) and modality (cardinal/fixed/mutable) tallies for each chart and the combined pair, plus dominant and missing elements. That is concrete and unambiguous. It does not, however, differentiate itself from the many sibling synastry tools (aspect grid, house overlay, match score, attraction score), so an agent gets no routing signal beyond the output type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to pick this tool over astroway_relational_synastry, astroway_relational_match_score, or the other synastry variants in the sibling list. The output description hints at a use case, but no explicit context, prerequisites, or alternatives are given. This is effectively no guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_relational_synastry_house_overlaySynastry House OverlayBRead-onlyIdempotentInspect
Locate each chart’s personal planets in the partner’s houses; reports top-3 emphasized houses on either side.
[Group: Comparisons] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chart1InChart2 | No | |
| chart2InChart1 | No | |
| emphasizedHouses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds only the 'top-3 emphasized houses' output framing and the metadata tags ('Group: Comparisons', 'Cost: 50 credits (Tier 3)'), the cost note being genuinely useful. Nothing about determinism, error behavior, or truncation is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core operation front-loaded, followed by compact metadata. No filler, and the output expectation is stated up front.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations carry the safety profile; the cost/group tags cover billing context. What remains thin is routing among the numerous synastry variants, but for a two-chart read-only analysis the definition is otherwise complete enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the nested chart objects are richly documented in the schema itself, so the baseline is 3. The description adds no parameter detail beyond what 'chart1'/'chart2' already imply; 'fields' and 'precision' compact-mode parameters are explained only in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Locate each chart's personal planets in the partner's houses' plus the output shape ('top-3 emphasized houses on either side'). This clearly distinguishes it as a house-overlay analysis, though it never contrasts itself with close siblings like astroway_relational_synastry or astroway_relational_synastry_aspect_grid.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool computes but gives no when-to-use guidance, no prerequisites, and no alternatives among the many synastry siblings. An agent must infer that this is the 'house overlay' flavour of synastry purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_rel_synastry_attraction_scoreSynastry Attraction ScoreBRead-onlyIdempotentInspect
Weighted 0–100 attraction score from Sun-Moon, Mars-Venus, ASC/DSC, Mars-Mars, Sun-Mars, Moon-Venus contacts and 5th-house overlay.
[Group: Comparisons] [Cost: 50 credits (Tier 3)]
(Cursor-friendly alias for astroway_relational_synastry_attraction_score.)
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| score | No | |
| components | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful non-schema context: the 50-credit Tier 3 cost and the alias relationship to astroway_relational_synastry_attraction_score. It adds nothing about scoring caveats or reproducibility, so it is a modest positive rather than strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The scoring formula is front-loaded in a single dense sentence, followed by short metadata lines for group, cost, and alias. Every line is informative; the alias note is slightly parenthetical but is useful for resolving the duplicate tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a fully documented nested schema, an output schema, and rich annotations, the definition only needs to explain the metric itself, which it does precisely. The missing piece is comparative context against the sibling match-score and synastry tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both nested chart objects are extensively documented in the schema itself, so the description needs to add nothing. It says nothing about chart1/chart2, fields, or precision, which is acceptable at full coverage but leaves this at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computed artifact (weighted 0–100 attraction score) and enumerates the exact synastry contacts and house overlay that feed it, so an agent knows precisely what metric this returns. It does not explicitly distinguish itself from the sibling astroway_relational_match_score, which is the most likely confusion point, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives such as relational_match_score or relational_synastry. Only grouping and cost metadata are offered, which does not tell the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_aspect_gridAspect Grid (SVG)BRead-onlyIdempotentInspect
Triangular aspect matrix: rows × columns = planets, each cell shows aspect glyph + orb. Standard textbook layout.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds the credit cost and tier, which is genuine value beyond annotations, but it omits the behavioral distinction that passing a pre-computed chart costs 1 credit instead of 10.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the output shape, plus a compact cost tag. Nothing is wasted, though the [Group: Visualization] tag is largely redundant with the name prefix.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover safety. However, for a tool whose schema offers two very different input paths with different costs, the description says nothing about either, leaving the agent to discover the cheaper chart-replay route only by reading the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% and the schema itself is extremely detailed (birth-data vs chart union, labels, theme, format, precision). The description adds no parameter meaning at all, so it sits at the baseline for a partially documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific rendered artifact: a triangular aspect matrix where rows/columns are planets and each cell carries an aspect glyph plus orb, with a 'standard textbook layout' note. This is clear enough to separate it from siblings like astroway_aspects_aspect_bar or astroway_render_wheel_western, though it never explicitly says it produces an SVG (that is left to the title).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and names no alternative among the many sibling render/aspect tools. The only contextual signal is the cost tag (10 credits), which helps an agent budget but not choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_biorhythmBiorhythm (SVG)CRead-onlyIdempotentInspect
Three-curve sine plot of physical (23d), emotional (28d), and intellectual (33d) cycles since birth.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| options | No | ||
| rangeEnd | Yes | ||
| birthDate | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| rangeStart | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds useful domain context (which cycles and their period lengths) and cost, but omits behaviorally relevant facts such as the output format defaulting to JSON rather than SVG despite the 'SVG' title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight content sentence with the cycle definitions front-loaded, followed by compact group/cost metadata. Nothing is wasted, though the metadata tags add little decision value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but for a rendering tool with six parameters and a JSON-by-default format the description is materially incomplete: it never explains that the default output is JSON, how the date range is interpreted, or what the options object controls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across six parameters. The description only indirectly hints at birthDate via 'since birth' and says nothing about rangeStart/rangeEnd, the format enum, theme/css recolouring, fields projection, or precision, so it fails to compensate for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the concrete output (a three-curve sine plot) and specifies the three cycles and their periods (23d/28d/33d), so an agent knows exactly what artifact it produces. It does not, however, distinguish itself from the many other astroway_render_* siblings, which is left to the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention of alternatives among the render family, and no stated prerequisites. The only routing signal is the implicit cost tier tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_bi_wheelBi-Wheel (SVG)CRead-onlyIdempotentInspect
Two concentric wheels: inner natal + outer ring with transit (or progression) planets. Standard bi-wheel layout.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds the cost tier (10 credits, Tier 1), which is useful, but omits the significant behavioral fact that the body accepts either raw birth data or two precomputed charts (the latter at 1 credit), a distinction the schema alone carries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus bracketed metadata, with the layout description front-loaded and no filler. The metadata tags are terse and scannable, though they carry cost/group rather than task-relevant guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with two distinct input modes, a cost difference between them, and a format option defaulting to json despite the 'Bi-Wheel (SVG)' title. The description says none of this, so an agent reading only the description could easily send the wrong body shape or expect SVG output by default.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is a middling 67%, and the description contributes nothing about the three top-level parameters (body, fields, precision) or the dual-mode body union. It neither explains the birth-data vs precomputed-chart choice nor mentions compact mode, leaving the schema to do all the work with a real gap remaining.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Two concentric wheels: inner natal + outer ring with transit (or progression) planets') and identifies the layout convention. It does not, however, differentiate itself from close siblings such as astroway_render_tri_wheel, astroway_render_composite, or astroway_render_wheel_western, which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(or progression)' hints at the comparison being drawn, but there is no statement of when to pick this over tri-wheel, composite, or a single western wheel, and no prerequisites or exclusions. An agent gets no routing guidance from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_compositeComposite Chart (SVG)BRead-onlyIdempotentInspect
Composite-chart wheel from two natal inputs. Computes midpoint composite then renders as Western wheel.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Pair of natal charts for relationship calculations: synastry, composite, davison. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the credit cost (10, Tier 1) and group tag, which is genuinely useful pre-call context, but says nothing about the surprising json default when the title advertises SVG.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, purpose front-loaded, with cost/group metadata clearly bracketed at the end. No wasted prose, though the bracket tags sit slightly awkwardly inside a description field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and cost is disclosed. However, for a rendering tool with a large nested options object the description never resolves the json-vs-svg default tension implied by the SVG title, nor routes the agent among the many sibling render tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nested chart1/chart2 and options fields are already documented in the schema. The description adds no parameter-level meaning beyond that, which is the expected baseline when the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: computes a midpoint composite from two natal inputs and renders it as a Western wheel. This is clear enough to separate it from siblings like astroway_render_bi_wheel or astroway_horoscope_compatibility, but it never names those alternatives explicitly, so the differentiation is inferential rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. The schema mentions synastry/composite/davison as a family, yet the description does not say when a composite is the right choice versus a synastry or davison chart, nor when to prefer astroway_render_wheel_western for a single chart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_cosmogramCosmogram: Hamburg School 90° dial (SVG)CRead-onlyIdempotentInspect
Cosmobiology 90° dial. Plots planets at (longitude mod 90)° across 4 quadrants, Cardinal/Fixed/Mutable repeated.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is covered. The description adds no behavioral context beyond the geometry — nothing about the SVG/JSON output, theming, size limits, or credit consumption beyond the bracketed cost tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with no filler, followed by compact group/cost metadata tags. Nothing is wasted, though the extreme brevity is part of the guidance gap rather than a virtue in itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is exhaustively documented, so return values and parameters need no prose. However, for a render tool sitting among thirteen sibling renderers with a large options surface, the description does not supply the selection or usage context an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the deeply documented body, options, fields and precision parameters already carry all meaning. The description contributes nothing about any parameter, including the fact that output is JSON by default rather than SVG despite the title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Plots') and a well-defined resource ('Cosmobiology 90° dial'), then explains the distinguishing mechanic — longitudes reduced mod 90 and Cardinal/Fixed/Mutable repeated across four quadrants. That is enough to tell it apart from a plain Western wheel, though it never names or contrasts a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to pick this renderer over the other dozen astroway_render_* tools, no mention of when a cosmogram is the appropriate visualization, and no note on choosing format=svg vs json. The reader is left to infer everything from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_eclipse_pathEclipse Path Map (SVG)BRead-onlyIdempotentInspect
Equirectangular world graticule with caller-supplied eclipse track. Renders centerline + shaded band of given degree-width.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| title | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| options | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| bandWidthDeg | No | ||
| centerlinePoints | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds useful rendering context (equirectangular graticule, centerline plus shaded band of a given degree width) and a cost note, but says nothing about output format behavior beyond that, e.g. that json is the default format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus metadata tags; the rendering substance (projection, centerline, band width) is front-loaded with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 7 parameters, nested objects, and only 29% schema coverage, the description leaves major gaps: the relationship between the required `path` and optional `centerlinePoints`, item count limits (min 2 / max 500), and the visual/style controls. An output schema exists so return values need not be explained, but input-side completeness is still weak.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% on a 7-parameter tool. The description clarifies the intent of the band width and the notion of a supplied track, but it never explains the distinction between `path` and `centerlinePoints` (both lat/long arrays), nor the size/width/height/theme/format render options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: renders an equirectangular world map with centerline and a shaded band, which is a distinct rendering output versus computing siblings like astroway_geo_eclipse_analysis. It does not explicitly name or rule out those siblings, but the rendering scope is clear from the wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'caller-supplied eclipse track' implies the caller must already have the track data rather than computing it, but there is no explicit when-to-use, when-not-to-use, or pointer to the sibling that produces eclipse tracks (e.g. astroway_calendar_eclipses or astroway_geo_eclipse_analysis). An agent has to infer the precondition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_moon_phaseMoon Phase (SVG)BRead-onlyIdempotentInspect
Render the moon disk with its illuminated fraction at the given moment. Returns SVG plus illumination metrics.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| phase | No | |
| waxing | No | |
| elongationDeg | No | |
| illuminationFraction | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond them: the output includes illumination metrics alongside the SVG, and the call costs 10 credits (Tier 1). It does not, however, mention the format/theme/size switch behavior that matters for a render tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences covering what is rendered and what is returned, followed by terse metadata tags. Nothing is padded or repetitive, though the metadata lines contribute no semantic guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Search is not needed: the description is complete for its scope. An output schema exists, so return values need not be detailed, and the description still notes SVG plus illumination metrics. The only true gap is sibling disambiguation, which is minor given the distinct 'render' namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including rich prose on timezone, coordinates, house system and the css theme, so the schema carries the parameter burden. The description only echoes 'at the given moment', adding nothing about date/time, precision, or fields beyond what the schema documents. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Render) and resource (the moon disk with its illuminated fraction) scoped to a moment in time. This is clear enough to distinguish it from most render siblings, but it never addresses the obvious near-neighbor astroway_calendar_moon_phase, which also deals with moon phase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_calendar_moon_phase for raw phase data versus this tool for a visual disk. The only usage-adjacent signal is the bracketed cost and group tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_star_mapStar Map (SVG)CRead-onlyIdempotentInspect
Stereographic projection of caller-supplied points (RA/Dec). Handles brightness magnitude scaling and labels.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| points | Yes | ||
| options | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| zenithDecDeg | No | ||
| capAltitudeDeg | No | ||
| observerLatDeg | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed-world read, so the safety profile needs no restating; the description adds useful non-annotation context in the form of the 10-credit Tier 1 cost and the magnitude-scaling/label behavior. However, it omits a behavioral trap: the tool is titled SVG but the schema default format is json, and nothing here warns the agent to pass format explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus bracketed group/cost tags, with the core capability front-loaded. No filler or repetition; the only mild overhead is the boilerplate metadata lines.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but for an 8-parameter tool with a nested options object and projection geometry, the description leaves most inputs unexplained. The 25% schema coverage is not offset, leaving an agent without enough grounding to use the projection and rendering options correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% across 8 parameters, so the description is expected to compensate and largely does not. It hints at points (raDeg/decDeg), magnitude and name/labels, but says nothing about the projection parameters (observerLatDeg, zenithDecDeg, capAltitudeDeg), precision, fields, or the nested options block (size, theme, showAspects, showRetrograde).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific rendering capability — a stereographic projection of caller-supplied RA/Dec points with magnitude scaling and labels — which clearly separates it from the chart-driven siblings (render_wheel_western, render_bi_wheel, etc.) that take computed chart data. The SVG output itself is only implied by the title, not the description, so it is not a flawless 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus the many other render_* siblings, no prerequisites, and no exclusions. The only non-purpose text is the group/cost metadata, which does not help an agent decide whether this or render_cosmogram, render_wheel_western, or render_aspect_grid is correct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_timelineTimeline (SVG)CRead-onlyIdempotentInspect
Gantt-style horizontal timeline of transit/aspect events over a date window. Caller supplies events array.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| events | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| options | No | ||
| rangeEnd | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| rangeStart | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds the credit cost and that events are caller-supplied, but it does not disclose important behavior such as the default output format being json despite the SVG title, the 200-event cap, or the theme/css recolouring behavior; with annotations present, this partial coverage is a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences state the output and the key input requirement, followed by compact group/cost metadata. There is no padding or repetition, though the brevity leaves the structured gaps to the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six top-level parameters, nested event objects, options with many fields, and only 33% schema description coverage, the description is not complete enough: it omits the output-format default, event structure, compact-mode fields/precision behavior, and option effects. The existence of an output schema removes the need to explain return values, but the input-side context is materially thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description mentions only the events array, leaving rangeStart, rangeEnd, fields, options, and precision unexplained. It also adds no syntax or shape detail for event objects beyond the schema's required label/start/end, so it does not compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific output: a Gantt-style horizontal timeline of transit/aspect events over a date window, and says the caller supplies the events array. It is clearly a rendering tool rather than data computation, but it does not name the sibling data tool astroway_aspects_aspect_timeline or otherwise distinguish itself from the many other astroway_render_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides only the input prerequisite that the caller supplies events; it gives no when-to-use guidance, no when-not-to-use guidance, and no alternative for obtaining the event data. The Visualization group label implies a rendering context but does not route the agent between this and astroway_aspects_aspect_timeline or other render tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_tri_wheelTri-Wheel (SVG)BRead-onlyIdempotentInspect
Three concentric wheels: natal + progressed + transit. Used for advanced forecasting visuals.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| natal | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| outer | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| middle | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| options | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the credit cost (10 credits, Tier 1), which is genuine operational context, but says nothing about what the rendering produces or how the three chart roles interact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus group/cost tags, front-loaded with the visual layout. Nothing is wasted, though the brevity leaves meaningful gaps rather than being an ideal size for a 6-parameter render tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, but for a tool with three nested chart objects, an options block (format svg/json, theme, labels) and a compact-mode fields/precision pair, the description omits how the three wheels are configured and what options do; it is minimum viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, so the baseline would be 3, but the description adds real meaning: the nested schema descriptions label natal, middle and outer identically as "Birth data for a single natal chart", so "natal + progressed + transit" is the only place that tells the agent middle=progressed and outer=transit, mapping the roles in order.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource (render a tri-wheel) and describes its structure: three concentric wheels of natal, progressed and transit data. This is clear enough to distinguish a 3-ring wheel from the 2-ring bi_wheel sibling, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Used for advanced forecasting visuals" is the only usage cue. There is no statement of when to choose this over astroway_render_bi_wheel, astroway_render_composite, or astroway_render_wheel_western, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_wheel_vedic_eastVedic Wheel: East Indian (SVG)CRead-onlyIdempotentInspect
East Indian (Bengali) layout: square with diagonals + inner rotated square forming 12 sectors.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered outside the description. The description adds genuinely useful context in the cost/group tags (10 credits, Tier 1) and the layout style, but says nothing about output format control, size limits, or that rendering is deterministic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded lines with no filler; the layout description comes first and metadata tags second. It is efficient, though the tags are boilerplate rather than tool-specific insight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the schema carries parameter detail. What is missing is the one thing the description should supply given the dense sibling set: how this wheel differs operationally from the north/south Indian variants and when to pick it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the rich nested birth-data schema documents body, fields and precision in detail. The description contributes no parameter-level information at all, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (East Indian/Bengali Vedic wheel layout, square with diagonals and rotated inner square) but never states the action verb — it never says it renders/produces an SVG chart. Combined with the name and title a reader can infer it, but the description alone describes a layout rather than an operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of the obvious alternatives, astroway_render_wheel_vedic_north and astroway_render_wheel_vedic_south. An agent choosing between the three Vedic wheel styles gets the layout description but no explicit routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_wheel_vedic_northVedic Wheel: North Indian (SVG)BRead-onlyIdempotentInspect
North Indian diamond chart layout: 12 fixed positions, signs rotate per ascendant. Standard BPHS rendering.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the rendering convention (BPHS, fixed North Indian layout) and the 10-credit cost, which is useful operational context but does not disclose return format, SVG-vs-JSON default behavior, or other behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The prose is two front-loaded sentences followed by compact metadata tags. It is appropriately sized for a rendering tool and contains no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema, annotations, and output schema carry most of the burden, and the description identifies the chart style. However, in a catalog with multiple Vedic wheel variants, the absence of selection guidance leaves a meaningful gap for an agent choosing among siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the three top-level parameters are already richly documented in the schema. The description adds no parameter syntax, defaults, or constraints beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific chart layout (North Indian diamond chart) and its structural rule (12 fixed positions, signs rotate per ascendant), plus the BPHS standard. That is enough to distinguish it from at least the South Indian and Western wheel siblings, but it stops short of explicitly naming those alternatives or stating the rendering action as a verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this wheel over astroway_render_wheel_vedic_east, astroway_render_wheel_vedic_south, or astroway_render_wheel_western. The group and cost labels give operational context but do not tell the agent when this tool is the right selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_wheel_vedic_southVedic Wheel: South Indian (SVG)BRead-onlyIdempotentInspect
South Indian 4×4 grid layout (Pisces top-left, signs fixed). House numbers placed where lagna sign falls.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world. The description adds the cost tier (10 credits) and the fact it produces an SVG image, plus layout semantics. It doesn't mention the default output format (json per schema) or size/theme defaults, so there is some uncovered behavioral surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus grouped metadata lines. The layout constraint is front-loaded and nothing is wasted; slightly terse rather than bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a rendering tool with a full input schema, output schema, and read-only annotations, the essential call mechanics are covered elsewhere. However, the description omits key decision context: which chart the wheel is drawn for (natal data flows from body), how it differs from the East/North variants, and the default format being json rather than SVG despite the title.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, fields and precision in detail. The description adds nothing parameter-specific, which is the correct baseline given the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (render) and resource (Vedic wheel, South Indian 4×4 grid), and describes the layout detail (Pisces top-left, signs fixed, house numbers where lagna falls). This clearly distinguishes it from the two sibling variants astroway_render_wheel_vedic_east and astroway_render_wheel_vedic_north, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this South Indian layout versus the East/North Indian siblings or the Western wheel. The layout convention is described but no routing guidance is given, leaving an agent to infer the choice from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_wheel_westernWestern Wheel (SVG)BRead-onlyIdempotentInspect
Render a Western natal wheel as SVG: signs ring, houses ring, planets, aspect lines. Pure server-side, no browser needed.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so credit is due for the additions: server-side rendering with no browser and a 10-credit Tier 1 cost. However, it omits notable behaviors such as the two input modes with different costs (birth data at 10 credits vs. a pre-computed chart object at 1 credit) and the fact that 'format' defaults to json rather than the SVG the description advertises.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences with no filler, plus compact Group and Cost tags that are genuinely useful metadata. Everything present earns its place, though it is arguably too terse for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and annotations relieve the description of return-format and safety disclosure, and it does state what is drawn and that rendering is server-side. It is nonetheless thin for a tool whose body supports two structurally different input modes (birth data vs. a pre-existing chart) that the description never hints at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description contributes zero information about any of the three parameters, despite schema description coverage sitting at only 67%. It neither clarifies the body/fields/precision roles nor compensates for the undocumented third of the schema, so the schema carries the entire burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Render) and resource (a Western natal wheel as SVG) plus the concrete content it draws: signs ring, houses ring, planets, aspect lines. The 'Western' qualifier implicitly separates it from the Vedic wheel siblings, but it never names or contrasts against other Western renderers such as bi_wheel, tri_wheel, or composite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and names no alternatives, even though the sibling list contains several closely competing renderers (bi_wheel, tri_wheel, composite, cosmogram, aspect_grid). 'Pure server-side, no browser needed' is an environment note, not a routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_ai_monthly_narrativeAI Monthly NarrativeAInspect
Single-month forecast. Tighter scope than year-ahead: uses fast and slow planet transits within the month. Inputs: chart, year, month (1-12), language, tone, length.
[Group: AI Reports] [Cost: 250 credits (Tier 5)] ⚠️ Heavy — confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | warm | |
| year | Yes | ||
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| month | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| length | No | medium | |
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| tokens | No | |
| narrative | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), and the description adds a genuinely useful non-schema trait: the 250-credit Tier 5 cost and an explicit "confirm with user before invoking" caution. It also notes the computation (fast and slow planet transits within the month). It does not mention non-idempotency/repeat-cost, which would have pushed it higher.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose in the first clause, followed by a comparative scope note, an input list, and clearly demarcated group/cost metadata lines. Compact and well-ordered, with only the input enumeration bordering on restating the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool (8 params, nested chart object, output schema present), the description supplies purpose, scope, and cost without needing to explain return values. It is complete enough for correct selection and invocation, though it leaves the non-required compact-mode params (fields, precision) undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (38%), so the description should compensate, but it only enumerates input names ("chart, year, month (1-12), language, tone, length") without adding meaning beyond the schema's own ranges and enums. It omits the two parameters not listed (fields, precision) and gives no format detail for chart or language/tone/length, so it adds little semantic value over the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and output type ("Single-month forecast") and distinguishes its scope from a named sibling concept ("Tighter scope than year-ahead"), which lets an agent separate it from the year-ahead narrative without opening the schema. It stops short of routing against the other narrative siblings (natal, synastry, transit), so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Tighter scope than year-ahead" implies when this tool is the right choice versus the year-ahead sibling, and the cost warning tells the agent to confirm before invoking. However there is no explicit when-not statement or routing among the many other narrative tools, so guidance is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_ai_natal_narrativeAI Natal NarrativeAInspect
Long-form natal-chart narrative (markdown). Inputs: chart, language (21 codes), tone (warm/professional/concise), length (short/medium/long; ≤3200 tokens). Returns the narrative text plus model and token usage. AI grounded on the computed natal chart: Sun/Moon/Asc, 13 bodies, 12 houses, ≤25 major aspects.
[Group: AI Reports] [Cost: 250 credits (Tier 5)] ⚠️ Heavy — confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | warm | |
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| length | No | medium | |
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tone | No | |
| model | No | |
| length | No | |
| tokens | No | |
| language | No | |
| narrative | No | |
| disclaimer | No | |
| duration_ms | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=false). The description adds useful context beyond annotations: it discloses the markdown output, the token limit (≤3200 tokens for long), the return of model and token usage, the grounding scope on the computed natal chart, and the heavy cost. It does not describe authentication, failure handling, or credit-charging rules, so a 4 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's purpose and output format, followed by inputs, returns, grounding scope, and cost/group metadata. It is mostly efficient, though listing input options briefly duplicates schema enums; the cost warning and token cap justify their space. No major restructuring is needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (AI narrative generation with nested chart input, 6 parameters, output schema present), the description covers the essential invocation concerns: purpose, output format, key input controls, cost, token cap, and grounding scope. The output schema handles return-value details, so the description need not explain them. The main gap is the unmentioned fields and precision parameters, but the schema covers them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, so the description must compensate but only partially does so. It names and explains chart, language (21 codes), tone (warm/professional/concise), and length (short/medium/long; ≤3200 tokens), adding useful meaning such as the token cap and language count. However, it omits the fields and precision parameters entirely, and the chart parameter's rich nested schema is not augmented in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Long-form natal-chart narrative (markdown).' It clearly distinguishes this tool from sibling AI narratives (monthly, synastry, transit, year ahead) and from non-AI natal report tools by naming the resource as a natal-chart narrative. An agent can identify the tool's purpose without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use: it is an AI Reports tool costing 250 credits (Tier 5), marked as heavy, and instructs the agent to confirm with the user before invoking. It does not explicitly list when to choose this over other AI narrative siblings or when not to use it, but the cost caution and purpose give sufficient usage context for an agent to proceed carefully.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_ai_synastry_narrativeAI Synastry NarrativeBInspect
Long-form relationship narrative grounded in cross-chart aspects. Inputs: chart1, chart2, language, tone, length.
[Group: AI Reports] [Cost: 250 credits (Tier 5)] ⚠️ Heavy — confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | warm | |
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| length | No | medium | |
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| tokens | No | |
| narrative | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly=false, destructive=false, openWorld=true, idempotent=false), so the bar is lower. The description adds a genuinely useful trait the annotations lack: the 250-credit Tier 5 billing cost and the explicit instruction to confirm with the user before invoking, which materially affects invocation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences followed by structured metadata tags (group, cost, warning). No padding; the purpose appears first and the heavy-cost caveat is placed for emphasis. Slight redundancy in listing inputs the schema already enumerates.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return format needn't be described, and rich nested chart schema plus annotations carry specification weight. However, for a complex, expensive, nested-input generation tool the description omits any usage context, prerequisites, or output character, leaving it adequate but thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
At 57% schema coverage, the description should compensate but instead only names five inputs (chart1, chart2, language, tone, length) without explaining any of them. It omits the two nuanced params -- 'fields' and 'precision' (compact mode) -- and adds no meaning beyond the schema, whose enum and nested descriptions already document tone/length/language. The input listing is essentially a restatement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Long-form relationship narrative grounded in cross-chart aspects,' which clearly identifies this as a synastry/compatibility report. It does not, however, differentiate this AI-narrative tool from sibling report tools like astroway_reports_synastry or astroway_reports_ai_natal_narrative, so the agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the cost warning 'confirm with user before invoking,' which addresses authorization rather than tool selection. It never says when to pick this over the sibling synastry/love report tools or what preconditions apply, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_ai_transit_narrativeAI Transit Narrative (single date)BInspect
Snapshot transit interpretation for a specific date. Inputs: chart + transitDate (+optional transitTime/tzOffset), language, tone, length. Returns narrative grounded in transit-to-natal aspects (orb ≤1°).
[Group: AI Reports] [Cost: 250 credits (Tier 5)] ⚠️ Heavy — confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| tokens | No | |
| narrative | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly=false, destructive=false, openWorld=true, idempotent=false). The description adds real value beyond them: the 250-credit Tier 5 cost, the 'confirm with user' caution, and the orb <=1° grounding rule. It does not explain side effects or why readOnly is false for what reads as a read operation, so it stays mid-range.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then a compact input/return summary and bracketed metadata tags. Every sentence is short and purposeful, though the inaccurate input list is wasted text rather than too much text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and the aspect-orb detail is a nice touch. But with 8 params at 63% coverage and a stated input set that mismatches the schema, the definition is not fully complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's input list ('chart + transitDate, transitTime/tzOffset, language, tone, length') does not correspond to the schema, which actually exposes date, time, fields, ayanamsa, ayanamsaId, timezone, timezoneOffset, precision. Naming parameters that do not exist is misleading rather than additive, despite 63% schema coverage doing most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Snapshot transit interpretation') scoped to a single date, which implicitly separates it from the monthly/year-ahead/reports_transit_yearly siblings. The scope ('single date') is clear, but it never names an alternative sibling explicitly, keeping it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[Cost: 250 credits (Tier 5)] Heavy — confirm with user before invoking' line is genuine usage guidance about cost/prudence. However, it gives no when-to-use vs when-not guidance against the many other AI narrative siblings (natal, monthly, synastry, year-ahead), so routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_ai_year_ahead_narrativeAI Year-Ahead NarrativeAInspect
Long-form annual report. Combines natal context with the year's major outer-planet transits clustered by month. Inputs: chart, year (default = next year), language, tone, length (use long for full annual report).
[Group: AI Reports] [Cost: 250 credits (Tier 5)] ⚠️ Heavy — confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | warm | |
| year | No | ||
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| length | No | medium | |
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| tokens | No | |
| narrative | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false and openWorldHint=true but say nothing about cost. The description adds the Tier 5 / 250-credit price and an explicit instruction to confirm with the user first, which is real behavioral context an agent needs before invoking. It does not disclose latency or that the output is long-running, but the cost disclosure is the material one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences plus a group/cost tag block, front-loaded with what the tool produces before the input list. The 'Inputs:' enumeration is slightly over-compressed because it presents an incomplete parameter list as if it were complete, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex, nested-chart, non-readonly generation tool this covers the essentials: what is produced, the key inputs and defaults, and the cost/confirmation requirement. With an output schema present it need not describe return values, though the compact-mode params and the relationship to sibling report tools remain unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 43%, and the description compensates well for the important gaps: it states that 'year' defaults to the next year (the schema has no default for it) and that 'length=long' is what produces a full annual report. It omits the compact-mode parameters (fields, precision) and says nothing about tone or language semantics, so coverage is partial but the highest-value parameters are clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (long-form annual report) and describes the synthesis: natal context plus the year's major outer-planet transits clustered by month. That is enough to distinguish it from astroway_reports_ai_monthly_narrative, but the nearby sibling astroway_reports_transit_yearly and the other *_narrative AI reports are never named, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives operational guidance ('confirm with user before invoking' for a 250-credit call) and a parameter-level hint ('use long for full annual report'), which is genuinely useful. However, it never states when to choose this over astroway_reports_ai_monthly_narrative or astroway_reports_transit_yearly, so usage is implied rather than specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_businessGenerate Business Astrology Report (PDF or HTML)BInspect
Founding-chart analysis (mundane astrology). Highlights Sun (purpose), MC (reputation), Jupiter (growth), Saturn (structure). Disclaimer: "not financial advice".
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true), and the description adds genuinely non-redundant context: a 5,000-credit Tier 7 cost, the warning that it consumes ~50% of a free monthly budget, the required user confirmation, and a 'not financial advice' disclaimer. It stops short of describing output delivery (PDF vs HTML link) or any timeouts/rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus a bracketed cost block, front-loaded with the purpose. Every element carries information; no padding or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and purpose plus cost are covered. However, the description never states the output medium (PDF/HTML), how the generated report is delivered, or that the `language` and `whitelabel` inputs shape the artifact — meaningful gaps for a premium report-generation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters at all. With 60% schema description coverage across 5 parameters, the schema is doing all the work (chart, fields, precision, language, whitelabel) and the description adds nothing to disambiguate required vs optional inputs or the compact-mode fields/precision interaction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and analytic lens ('Founding-chart analysis (mundane astrology)') and enumerates what the report covers (Sun/purpose, MC/reputation, Jupiter/growth, Saturn/structure). It distinguishes itself from a generic natal report by the 'founding chart' framing, though it never explicitly contrasts itself with the closest siblings (astroway_reports_money, astroway_reports_career, astroway_reports_natal).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage instruction is 'Confirm with user before invoking', which is a cost prerequisite rather than selection guidance. There is no statement of when a business/founding-chart report is the right choice versus astroway_reports_money, astroway_reports_career or astroway_reports_natal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_careerGenerate Career Compass Report (PDF or HTML)AInspect
Career-themed natal: MC, 10th-house cusp, Saturn placement, Mars motivation, aspects to Sun. Self-knowledge tool, not directive.
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare openWorldHint=true, destructiveHint=false and idempotentHint=false, so the safety profile is partly covered. The description adds genuinely useful behavior the annotations lack: the 5,000-credit Tier 7 cost, that it consumes ~50% of a free monthly budget, and a confirm-before-invoking rule. It does not describe the returned artifact, but the output schema covers that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact blocks: the content scope first, then the cost/confirmation warning. Every fragment earns its place, and the highest-stakes fact (credits and budget share) is isolated where a reader cannot miss it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and the cost caveat plus content scope give an agent enough to decide and call safely. Only the usage distinction from the other report siblings is unstated, which is a minor gap for a 5-parameter generator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 60%, and the description contributes nothing about chart, fields, language, precision, or whitelabel. The chart, fields, and precision properties are well documented in-schema, but language (enum) and whitelabel (large nested object) carry little or no description, and the tool text does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific report type and enumerates its astrological content (MC, 10th-house cusp, Saturn, Mars, Sun aspects), so an agent knows exactly what the artifact covers. It contrasts implicitly with the generic 'natal' sibling by prefixing 'Career-themed', though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives two usage signals: 'Self-knowledge tool, not directive' and 'Confirm with user before invoking' tied to the premium cost. That establishes a precondition, but it never says when to pick this over astroway_reports_natal, astroway_reports_money, or astroway_reports_business, leaving the choice among near-identical report siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_childGenerate Child Astrology Report (PDF or HTML)BInspect
Parenting-oriented natal report. Highlights Moon (emotional core), Mercury (learning style), Venus (connection style), Mars (energy/temperament). Includes full natal data and a disclaimer noting interpretive nature.
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say this is a non-read-only, non-idempotent, open-world call. The description adds material behavioral context the annotations lack: the exact credit cost, its share of the free monthly budget, and the requirement to confirm before invoking. It omits the PDF-vs-HTML output distinction implied by the title, which is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the report's identity and content in two sentences, then the cost warning. Efficient and well ordered, though the 'includes full natal data and a disclaimer' clause is closer to filler than actionable detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the cost/confirmation guidance is a real addition. But for a five-parameter premium report tool, the absence of any input guidance and the missing PDF/HTML output clarification leave the definition incomplete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 60%, so the description is expected to compensate, yet it mentions none of the five parameters (chart, fields, language, precision, whitelabel). Everything an agent learns about inputs comes from the schema, and the description adds zero parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific output — a parenting-oriented natal report — and enumerates its content (Moon, Mercury, Venus, Mars, full natal data, disclaimer). The 'child'/'parenting-oriented' framing implicitly distinguishes it from the sibling astroway_reports_natal, though it never explicitly says to prefer this one for a child's chart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The premium cost block gives a genuine usage instruction (5,000 credits, ~50% of the free monthly budget, confirm with the user first), which is useful operational guidance. However, there is no statement of when to choose this over astroway_reports_natal or other report siblings, so selection guidance remains implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_gemstoneGenerate Gemstone Report (PDF or HTML)BInspect
The ratna prescription as a multi-page A4 PDF (default) or live HTML (add ?format=html). Same astrology as POST /vedic/gemstones, and pinned by a test to never disagree with it: same sidereal lagna, same two schools, same three gems. What the document adds is what a table cannot carry. Every recommended gem gets a page: what the graha it belongs to signifies classically, t…
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| school | No | ||
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No | ||
| wearingFrom | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the safety profile (readOnlyHint=false, non-idempotent, openWorldHint=true), so the bar is lower. The description adds value with the cost warning (5,000 credits, ~50% of free monthly budget, confirm first) and the format-suffix behavior, but says nothing about what the output is returned as (URL? binary?) or auth requirements, and the visible text is cut off mid-explanation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, which is good. However the prose is verbose and appears truncated, suggesting it runs long without a clean structure or summary of the key call-shape decisions. It is not padded with pure tautology, but it could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required. The description covers the document's content intent and its relationship to the vedic gemstones endpoint, plus cost. But with 7 parameters, 43% schema coverage, and a truncated description, an agent is left without guidance on several inputs and on how the produced PDF/HTML is delivered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 43%, so the description would ideally compensate for the undocumented parameters. It only adds the `?format=html` toggle beyond the schema; the rich nested `chart` object, `school`, `language`, `precision`, `whitelabel` and `wearingFrom` receive no extra narrative. The (truncated) remainder may have covered more, but on the evidence shown the description adds marginal parameter value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: producing a 'ratna prescription' (gemstone report) as a multi-page A4 PDF by default or live HTML via `?format=html`. That is concrete enough to distinguish it from generic report siblings like astroway_reports_vedic_kundli, though it never explicitly contrasts itself with the closest siblings. The text is truncated mid-sentence, so full purpose is not verifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the report shares astrology with `POST /vedic/gemstones` and adds document-only content, which implies when this is preferable (you want a formatted document, not a data table). It does not name an explicit alternative tool in the sibling set or say when NOT to use it. The credit warning ('confirm with user before invoking') is present but is cost guidance rather than usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_generateGenerate Report: Unified Dispatcher (V2)BInspect
Single endpoint over the 12 type-specific renderers: pass report_type ("natal" | "transit-yearly" | "synastry" | "business" | "career" | "love" | "money" | "child" | "lal-kitab" | "human-design" | "tarot" | "vedic-kundli") plus the renderer-specific inputs. SDK ergonomics: one method instead of 12. Required fields vary by type: chart for most, chart1+chart2 for synastry, seed …
[Group: Reports] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| seed | No | ||
| year | No | ||
| chart | No | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart1 | No | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | No | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| spread | No | ||
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No | ||
| report_type | Yes | ||
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the safety profile is covered. The description adds the credit cost ('10 credits (Tier 1)'), which is useful behavioral context, but it does not address determinism/seed reuse, whether generation is idempotent, or whether a second call re-charges credits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is dense and front-loaded: the dispatcher scope and the enum of types come first, then the conditional-required rules. The trailing ellipsis ('seed …') indicates it is cut off, so it is not maximally efficient, but there is little filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. Against 13 parameters at 38% coverage, though, the description only partially compensates, and being truncated it leaves the caller without the full picture of how the 12 modes differ in required inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 38%, so the description carries extra burden. It does add real value by explaining the conditional requiredness the schema cannot express (chart for most types, chart1+chart2 for synastry), but the text is truncated mid-sentence and leaves the remaining parameter interactions (seed, whitelabel, fields/precision compact mode) unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Single endpoint over the 12 type-specific renderers') and enumerates the 12 report_type values, so an agent immediately understands this is the unified dispatcher. It distinguishes itself conceptually from the type-specific siblings ('over the 12 type-specific renderers') but never names them or contrasts call patterns explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives substantive conditional guidance on inputs ('Required fields vary by type: chart for most, chart1+chart2 for synastry, seed …'), which is genuine when-to-use value. However, it offers no explicit guidance on when to call this dispatcher versus the individual astroway_reports_natal / _synastry / _business tools in the sibling list, which is the central routing decision for this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_historyList Recent Report ExportsAInspect
List the calling key's most recently generated PDF reports: type, byte size, page count, language, created/expiry timestamps and a url. Re-fetch a report link within its 24h validity window, or surface recent exports in a dashboard. PDFs are purged after 24h, so older items return expired: true with a now-dead URL. Free to call. Query ?limit= (1–50, default 10).
[Group: Reports] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses non-obvious behavior well beyond the annotations: PDFs are purged after 24h, stale entries come back with expired: true and a dead URL, and limit defaults to 10 with a 1-50 range. However, it claims 'Free to call' while the same block says cost is not in the public credit manifest, and it never explains why annotations mark this list as readOnlyHint=false — an ambiguity an agent would want resolved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose, then usage, then lifecycle behavior, then cost, in three dense sentences with no filler. The appended [Group]/[Cost] tags add some clutter and the internal free-vs-cost tension slightly muddies the close.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list endpoint with an output schema, the description covers what an agent needs: scope, expiry semantics, pagination default and cost posture. The remaining holes are the unexplained readOnlyHint=false and the fact that the advertised limit parameter is not actually accepted by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two declared parameters (fields, precision) are already documented and the description adds nothing about them. It does add limit semantics (1-50, default 10), but that parameter is absent from the input schema, so the extra detail creates a mismatch rather than compensating for a gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (the calling key's recently generated PDF reports) and enumerates the returned fields. It is clearly distinguishable from the many sibling astroway_reports_* tools, which generate reports rather than list past exports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives two concrete usage contexts: re-fetching a report link inside its 24h validity window and surfacing recent exports in a dashboard. It does not name an alternative tool or state when not to use it, so it falls short of explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_human_designGenerate Human Design Report (PDF or HTML)BInspect
Bodygraph PDF: Type, Strategy, Authority, Profile, Definition, Not-Self theme, Incarnation Cross + 9 centers (defined/open) + activated channels with gate pairs.
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare openWorldHint=true, idempotentHint=false and destructiveHint=false, so the safety profile is largely covered structurally. The description adds non-derivable behavioral context that the schema cannot express: the 5,000-credit Tier 7 cost and its share of the free monthly budget, plus an explicit confirmation requirement. It does not restate the idempotency or external-side-effect hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the report's contents, then a compact cost/warning block. Every element earns its place, though sentence one is a dense comma-list that reads more like an inventory than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value description is not required, and the content list tells the agent what the report will say. It omits how the artifact is delivered, and the title advertises 'PDF or HTML' while the description says only 'Bodygraph PDF', leaving the output format ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 60%, and the description contributes nothing about any of the five parameters — nothing on chart/birth data, language, fields, precision, or whitelabel branding. The richly documented 'chart' object in the schema carries the load, but fields, precision, language and whitelabel remain unexplained in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates exactly what the Human Design report contains (Type, Strategy, Authority, Profile, Definition, Not-Self theme, Incarnation Cross, 9 centers, activated channels), which makes the tool's output unmistakable. The verb comes from the title ('Generate ... Report') rather than the description, and it does not explicitly position itself against sibling report tools, but 'Human Design' is a unique domain no sibling covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a real usage gate — 'Premium — ~50% of free monthly budget. Confirm with user before invoking' — which is genuinely actionable. However, it offers no guidance on when to choose this over the many other report siblings (natal, stellaforge, generate) or what prerequisites the chart data must satisfy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_lal_kitabGenerate Lal Kitab Report (PDF or HTML)AInspect
Lal Kitab analysis: Teva (graha placements with Pakka-ghar match), Kismat & Prosperity scores, detected Rins (ancestral debts) with triggers, suggested Upayas (remedies). Sidereal compute (Lahiri ayanamsa) with sign-from-Lagna house numbering per Lal Kitab convention.
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, open-world, non-idempotent, non-destructive, so the description adds real value beyond them: the Tier 7 cost (5,000 credits, ~50% of a free monthly budget), a premium user-confirmation warning, and the computation convention (Lahiri ayanamsa, sign-from-Lagna house numbering). Missing is any note on delivery format or latency, hence not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the report contains, then appends group and cost metadata as bracketed lines that are easy to scan. Two tight paragraphs with no filler; only minor trimming possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need not be described, and the description covers the report domain, computation convention, and the costly-invocation caveat that an agent most needs. For a generation tool of this complexity, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 60%, so the schema already documents chart, fields, precision, language and whitelabel in detail. The description's only parameter-relevant content is the Lahiri sidereal default, which the schema states anyway. It neither compensates for the uncovered portion nor adds new parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (Lal Kitab report) and enumerates the report's contents: Teva graha placements with Pakka-ghar match, Kismat & Prosperity scores, Rins, and Upayas. That is enough to tell it apart from generic siblings like reports_natal. It never names an adjacent sibling (e.g. reports_vedic_kundli) to sharpen the boundary, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the domain (use this when a Lal Kitab report is wanted) and reinforced by the explicit cost instruction to confirm with the user before invoking. However, it gives no guidance on when to prefer this over reports_vedic_kundli or reports_natal, which is the real selection decision an agent faces.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_loveGenerate Love Report (PDF or HTML)BInspect
Romantic-relationship natal report. Highlights Venus (attraction style), Mars (desire), Moon (emotional needs), Descendant (partner profile). Disclaimer: not a prophecy.
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly=false, idempotent=false, openWorld=true and destructive=false; the description adds substantial context beyond them — a 5,000-credit cost (Tier 7), the share of a free monthly budget it consumes, and a mandatory user-confirmation step. It also sets expectations with a 'not a prophecy' disclaimer. It stops short of describing the returned artifact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short blocks, front-loaded with what the report is and then the cost/confirmation warning. Waste-free, though the bracketed metadata lines are slightly stack-like rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return structure needn't be explained, but the title promises 'PDF or HTML' and the description never says which output form is produced or how it is selected — a notable omission given no visible format parameter. The credit cost and confirmation requirement are well covered; the input/output contract is not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description says nothing about any of the 5 parameters, including the required nested 'chart' object. With schema description coverage at only 60%, the description is expected to compensate for the undocumented parameters (fields, language, precision, whitelabel) and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Romantic-relationship natal report') and names the exact astrological bodies it interprets, so the agent knows the report's content. It does not contrast itself with the closest sibling (astroway_reports_synastry, which covers two-person relationship analysis), leaving that distinction to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The cost block gives real pre-invocation guidance ('Premium — ~50% of free monthly budget. Confirm with user before invoking'), which is actionable. However, there is no when-to-use / when-not-to-use guidance relative to sibling reports such as synastry, natal, or career, which is what an agent most needs to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_moneyGenerate Money Report (PDF or HTML)AInspect
Financial natal: 2nd house (earned income), 8th house (shared resources), Jupiter (expansion), Saturn (discipline). Disclaimer: not investment advice.
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations reveal it is not read-only, not idempotent, and open-world, but the description adds the crucial operational fact the annotations do not: this costs 5,000 credits (Tier 7), roughly half a free monthly budget, and should be user-confirmed. That is exactly the cost/budget context annotations cannot express. It stops short of saying how the artifact is delivered or that the call is billed on generation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: the astrological content comes first, then the cost/confirmation block where an agent will actually look for it. The first sentence is tersely nominal ('Financial natal: 2nd house...'), but nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the annotations plus the cost warning cover the behavioral essentials. The remaining gap is that neither description nor annotations state what the tool produces or returns (a generated PDF/HTML report), which the title carries alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Five parameters at 60% schema coverage, and the schema itself is unusually verbose about chart, fields, and precision. The description contributes nothing to parameter meaning — chart, language, precision, and whitelabel are unexplained — but with this much schema-side detail the mechanical baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Together with the title, the description makes clear this is a financial/money natal report, spelled out as 2nd house (earned income), 8th house (shared resources), Jupiter and Saturn. That content scope distinguishes it well from siblings like astroway_reports_business or astroway_reports_career. It never states the verb or that the deliverable is a PDF/HTML, so it leans on the title for the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the financial scope, and there is an explicit invocation directive — confirm with the user before invoking. However, no alternative is named (e.g., when to prefer business or career reports over this one), and there is no when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_muhurtaGenerate Muhurta Report (PDF or HTML)BInspect
Render a standard A4 report of the most auspicious dates for a chosen activity over a search window. Same window-scan engine as /vedic/muhurat/*: it scores each day by sunrise Panchang (Tithi/Vara/Nakshatra/Yoga/Karana) per Muhurta Chintamani + B.V.Raman, and lists ranked days with per-day Abhijit Muhurat and the scoring factors as the rationale. activity is one of the 12 fr…
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| activity | Yes | ||
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| language | No | ||
| latitude | Yes | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| whitelabel | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-readonly, non-destructive, non-idempotent, open-world operation, and the description adds real context beyond that: the report is A4, output is PDF/HTML, each day is scored by sunrise Panchang factors, and ranked days include Abhijit Muhurat plus scoring rationale. It stops short of stating pagination or repeat-invocation cost behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the deliverable, then methodology in one dense sentence; the cost warning is clearly appended. Some engine detail (Panchang limbs, author names) is heavier than an agent strictly needs, and the trailing activity list is cut off mid-sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers purpose, methodology and cost adequately. But for a premium 13-parameter tool it leaves the whitelabel/branding and result-limiting parameters entirely to the schema, so an agent must open the schema to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 31% across 13 parameters, so the description is expected to compensate, but it only restates `activity` (already enumerated in the schema) and alludes to the search window. topN, ayanamsa, timezoneOffset, precision, fields and the whole whitelabel object are left to the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Render') plus resource ('standard A4 report of the most auspicious dates') and a clear scope (activity over a search window). It distinguishes itself from other report siblings by naming the muhurta subject and the shared /vedic/muhurat/* engine, though it does not explicitly contrast with the other report generators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'Reports' group and the premium-cost warning ('Confirm with user before invoking'), which is genuinely useful gating advice. However there is no explicit when-to-use/when-not guidance and no named alternative (e.g. the raw muhurat endpoint or reports_generate).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_natalGenerate Natal Report (PDF or HTML)AInspect
Render a Western tropical natal chart as a single-page A4 PDF (default) or live HTML (add ?format=html). Includes Big Three (Sun/Moon/ASC), full planets table with houses + retrograde, all 12 house cusps, and major aspects. Set whitelabel: true to apply the caller's branding overrides. Languages: uk (default) or en. PDF URLs valid 24h via auto-cleanup cron; HTML mode s…
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | ||
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| enrich | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| length | No | ||
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-idempotent, open-world; the description adds genuinely new behavior: PDF URLs expire after 24h via an auto-cleanup cron, branding overrides are applied when whitelabel is set, and the call is expensive (5,000 credits, ~50% of a free monthly budget) so user confirmation is required. Cost and output-lifetime disclosure is strong; the sentence explaining HTML mode is cut off mid-word.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense, front-loaded and mostly waste-free: format and content come first, then branding, language and URL lifetime. It loses a point for a truncated trailing clause and for the language claim that conflicts with the schema, so not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the description needn't describe return values, and the 24h URL note is a useful addition. But it is truncated, mismatches the language enum, and says nothing about failure/refund behavior for a 5,000-credit premium call, leaving an agent short of what it needs to invoke this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 38%, so the description must compensate; it clarifies the format switch and whitelabel behavior but is silent on tone, length, enrich, fields and precision. Worse, it claims languages are 'uk (default) or en' while the schema enum lists 21 languages, which could steer an agent away from valid values. The nested `chart` object is richly self-documented in-schema, which partially offsets the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ('Render a Western tropical natal chart') and enumerates exactly what the artifact contains (Big Three, planets table with houses/retrograde, 12 cusps, major aspects). Western tropical vs. sidereal implicitly separates it from astroway_reports_vedic_kundli, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives option-level guidance (PDF default, `?format=html` for live HTML, `whitelabel: true` for branding, language default) plus a premium-cost warning to confirm with the user first. However it never states when to choose this report over the many narrative siblings (astroway_reports_ai_natal_narrative, astroway_reports_generate), leaving the selection decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_relocationGenerate Relocation Report (PDF or HTML)AInspect
Compare up to five places for one birth chart as a multi-page A4 PDF (default) or live HTML (add ?format=html). Per place: the relocated ascendant and midheaven with the signed shift from birth, which planets changed house (the substantive difference, diffed rather than left as two tables), every astrocartography line running within 300 km with its interpretation text, a…
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| orbKm | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| locations | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| categories | No | ||
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false), so the bar is lower. The description still adds meaningful context beyond them: the 5,000-credit Tier 7 cost, the ~50% budget impact, and an explicit instruction to confirm with the user before invoking, plus the default 300 km line radius. It is silent on whether the output is cached or regenerated, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: format/scope first, then per-place contents, then cost. Every clause carries information. It is docked slightly because the text trails off mid-sentence ('a…'), leaving an unfinished clause rather than a clean close.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be restated, and the description helpfully covers report contents and cost. But for an 8-parameter premium tool with 38% schema coverage, the omission of language, categories, whitelabel, precision, and fields leaves real gaps an agent must guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 38%, so the description must carry the load, and it largely does not. It hints at the locations cap ('up to five places') and the 300 km line radius (relating to orbKm), but never names or explains orbKm, categories, language, fields, precision, or whitelabel. The '?format=html' instruction does not even correspond to a schema parameter, which risks confusing an agent about how format is actually selected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete operation on a concrete resource: comparing up to five places against one birth chart to produce a relocation report in PDF or HTML. The enumerated contents (relocated ascendant/midheaven, planets changing house, astrocartography lines within 300 km) are unmistakably relocation/astrocartography material, so an agent can tell this apart from the natal, synastry, or transit report siblings without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides the format-selection rule (PDF by default, add `?format=html`) and a strong invocation caveat (premium cost, confirm with the user first), which is real usage guidance. However it never says when this report is preferable to the neighbouring report tools, so alternative-routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_stellaforgeGenerate Stellaforge Birth-Chart Poster (PDF or HTML)AInspect
Render a data-rich, print-ready natal chart poster. A high-detail western wheel (colored element sectors, colored glyphs, degree labels, ASC arrow, MC marker, house cusps) plus the Sun/Moon/Rising trio, a placements table, element/modality balance bars, and the top aspects, fully deterministic, 0 AI. Three styles via style: editorial (light), celestial (dark + gold), `cl…
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| style | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly false, destructive false, openWorld true, idempotent false), so the bar is lower, and the description still adds materially: it discloses the deterministic non-AI rendering behavior and a concrete cost of 5,000 credits (~50% of a free monthly budget) requiring user confirmation. It does not say what is required for the call to succeed (e.g. a valid chart object) or how the artifact is delivered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the concrete deliverable and its visual contents, with no filler sentences. It loses a point because the style enumeration is cut off mid-word in the third option, leaving the structure visibly incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and cost/tier is disclosed. But the title promises 'PDF or HTML' while neither the description nor the schema exposes any format selector, and the third style value is truncated — so an agent cannot fully determine the call's output mode from the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, so the schema carries most parameter meaning, including the detailed chart/timezone/houseSystem notes. The description adds value only for `style`, enumerating editorial (light) and celestial (dark + gold) and starting a third ('cl…', presumably classic) that is truncated. `fields`, `precision`, `language` and `whitelabel` are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Render a data-rich, print-ready natal chart poster') and enumerates the visual contents (wheel, Sun/Moon/Rising trio, placements table, balance bars, aspects), so the output is unambiguous. It differentiates itself implicitly from the narrative report siblings by being a deterministic chart render with '0 AI'. However it never names a sibling or explains how it differs from astroway_reports_natal or astroway_reports_generate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the content list and the cost banner ('Confirm with user before invoking'), which is genuine invocation guidance. But there is no explicit when-to-use framing, no exclusion rules, and no pointer to the alternative report tools an agent should pick instead for a written interpretation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_synastryGenerate Synastry Report (PDF or HTML)AInspect
Render a relationship synastry PDF: side-by-side Big Three, full cross-chart aspect table (top 40 major aspects), and per-chart + combined element/modality balance.
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the safety profile is covered. The description goes beyond them with cost (5,000 credits, Tier 7), a budget proportion warning, and an explicit confirmation requirement -- meaningful operational context. It does not resolve the title's 'PDF or HTML' ambiguity or state whether output is a link, upload, or inline bytes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The payload sentence is dense but front-loaded and every clause names real content in the report. The cost block is a separate bracketed line, which keeps the primary statement readable. No filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description usefully previews report contents plus the premium cost gate. What is missing is only the PDF-vs-HTML selection question implied by the title and any routing against the narrative sibling; for a paid report renderer the description is otherwise complete enough to invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, in the middle band, and the schema itself carries very rich per-field documentation (timezone, houseSystem, city-as-label-only). The description contributes no parameter meaning at all -- chart1/chart2, language, whitelabel, precision and fields go unmentioned. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Render) and resource (relationship synastry PDF) and enumerates the document's contents: Big Three, cross-chart aspect table, element/modality balance. It never names the closest sibling, astroway_reports_ai_synastry_narrative, so an agent cannot tell from the text alone which synastry output to choose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The cost block gives one precondition ('Confirm with user before invoking'), which is real invocation guidance, but there is no when-to-use / when-not guidance and no routing to alternatives such as the AI narrative or astroway_reports_generate. Usage is implied by the premium warning rather than explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_tarotGenerate Tarot Reading (PDF or HTML)AInspect
Render a tarot reading PDF. Default spread three-card (Past/Present/Future from Rider-Waite-Smith deck). Available spreads: single-card, three-card, celtic-cross, horseshoe, relationship, year-ahead, decision, chakra, career, love-triangle. Pass seed for reproducibility (deterministic mulberry32 RNG); omit to use a daily seed. Set allowReversed: false to draw upright car…
[Group: Reports] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| spread | No | ||
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No | ||
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark it non-read-only and open-world, and the description adds genuinely useful behavior beyond them: the deterministic mulberry32 RNG tied to `seed`, the daily-seed fallback when omitted, and the effect of `allowReversed`. It does not mention the 100-credit cost, but determinism disclosure is exactly the kind of context an agent benefits from here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and default, then parameter behavior. The ten-item spread list is long but justified because `spread` is a plain string in the schema with no enum, so this is the only place the valid values appear. The trailing text is truncated, slightly hurting readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the core generation parameters are covered. However, several configurable inputs (language, whitelabel theming, fields/precision compact mode) are neither in the description nor documented in the schema, leaving meaningful gaps for a tool with 8 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% across 8 parameters, so the description must compensate. It explains `spread` (with the full valid list, since the schema types it as a bare string), `seed`, and `allowReversed`, but leaves `language`, `whitelabel`, `fields`, `precision`, and `name` entirely undocumented. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Render') and resource ('tarot reading PDF') and immediately characterizes the default output (three-card Past/Present/Future from Rider-Waite-Smith). Tarot is unambiguous against all report siblings, which cover natal, synastry, vedic, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains how to use the tool (spread options, seed for reproducibility, omit for daily seed, allowReversed toggle) but never says when to choose this over the other report generators or what prerequisites exist. Usage is implied by parameter behavior rather than stated as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_transit_yearlyGenerate Year-Ahead Transit (PDF or HTML)AInspect
Render a year-ahead transit calendar PDF grouped by month. Includes major aspects (conjunction, sextile, square, trine, opposition) of outer planets (Mars through Pluto) to natal positions, with 0.5° max orb. Defaults to next calendar year if year omitted.
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark it non-read-only and non-destructive, and the description adds behavior the annotations do not cover: the 5,000-credit Tier 7 charge (~50% of a free monthly budget) and the requirement to confirm with the user first. It does not mention rate limits, auth needs, or render latency, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences carry the purpose and computational scope, followed by compact structured tags for group and cost. No sentence is filler; the cost warning is placed where it will be seen before invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values need no explanation, and the description covers the report content, cost, and confirmation requirement for a 6-parameter tool. The only visible gap is the title's mention of 'PDF or HTML' versus the description's PDF-only wording, leaving the output-format choice ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, and the description compensates on just one parameter — it explains the `year` default (next calendar year) and defines the report's computational scope. The other parameters (fields, precision, language, whitelabel, chart) get no added meaning beyond the schema, leaving real gaps at this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Render) and resource (year-ahead transit calendar PDF), then goes further to define the exact content: major aspects of Mars–Pluto to natal positions at a 0.5° orb. This clearly distinguishes it from narrative-report siblings like astroway_reports_ai_year_ahead_narrative, which produce prose rather than a month-grouped calendar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete usage context: defaults to next calendar year when `year` is omitted, and explicitly instructs the agent to confirm with the user before invoking because of the 5,000-credit cost. It does not name an alternative tool or state when-not-to-use, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reports_vedic_kundliGenerate Vedic Kundli (PDF or HTML)AInspect
Sidereal Vedic chart (Lahiri ayanamsa): Lagna + Moon nakshatra/pada, all sidereal planet positions with nakshatra+pada+house, full 9-period Vimshottari Mahadasha tree with current period highlighted.
[Group: Reports] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| whitelabel | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, and idempotentHint=false. The description adds substantial context beyond that: it is Group Reports, costs 5,000 credits (Tier 7, ~50% of the free monthly budget), and requires user confirmation. Credit cost and budget impact are genuinely valuable and not derivable from annotations, though it doesn't clarify whether each invocation consumes credits again (non-idempotent).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content list is front-loaded and dense with concrete deliverables, followed by clearly tagged [Group] and [Cost] lines. Every element earns its place with no filler, though the trailing confirmation note is appended without much structural integration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details are rightly omitted, and the description adequately conveys what the generated report contains plus its credit cost. The main gap is that the 'PDF or HTML' output choice from the title is never explained or tied to a parameter, leaving the delivery format ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 60% schema description coverage, the schema does most of the work, and the description adds only the Lahiri default (mapping to the ayanamsa parameter). It gives no guidance on fields, precision, language, or whitelabel behavior. This is the baseline 'schema carries it' case, with only marginal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and its scope: 'Sidereal Vedic chart (Lahiri ayanamsa)' with Lagna, nakshatra/pada, planet positions, and a 9-period Vimshottari Mahadasha tree. This is far more specific than a tautology and implicitly distinguishes it from tropical/natal siblings by emphasizing 'Sidereal Vedic'. However, it never explicitly names the sibling it differs from (e.g. reports_natal), so an agent must infer the routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only routing guidance is the cost guardrail: 'Confirm with user before invoking' for a Tier 7 tool. That is useful but concerns approval, not selection. There is no statement of when to choose a Vedic Kundli over astroway_reports_natal, human_design, or the other report siblings, leaving usage to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_runes_by_zodiacRune by ZodiacARead-onlyIdempotentInspect
Tropical-sign → Elder Futhark affinity rune.
[Group: Elder Futhark Runes] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| sign | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| source | No | |
| methodology | No | |
| affinityRune | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the group category and a 10-credit cost, which are useful operational facts, but does not add auth, rate-limit, or return-behavior detail. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise and front-loaded: the core mapping is stated first, followed by group and cost metadata. No sentence is wasted for a low-complexity lookup tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup with rich annotations and an output schema, the description is mostly complete. It could explicitly state that sign is required and what the response contains, but the output schema and enum already cover those needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: fields and precision are documented in the schema, and sign is constrained by an enum. The description only adds that sign is tropical rather than sidereal, which is a modest semantic supplement, but it does not explain fields or precision.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific mapping: tropical zodiac sign to Elder Futhark affinity rune. This is clear enough to distinguish from generic rune draw tools like astroway_runes_single, though it does not explicitly contrast with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the mapping: use it when you have a tropical zodiac sign and want its affinity rune. There is no explicit when-to-use, when-not, or alternative guidance; group and cost metadata are not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_runes_nine9-Rune CastCRead-onlyIdempotentInspect
Pennick layout 9-rune cast.
[Group: Elder Futhark Runes] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| runes | No | |
| source | No | |
| spread | No | |
| question | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds useful non-annotation context (Elder Futhark group, 10-credit Tier 1 cost), but says nothing about what the Pennick layout produces or how the question/seed influence the reading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded lines with zero filler; the cost and group metadata are bracketed and skimmable. The brevity is efficient, though it shades into under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, but for a 5-parameter divination tool with three undocumented inputs the description leaves too much open: it never says whether `seed` makes the cast reproducible, what `question` does, or what `allowReversed` changes in the reading.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: `fields` and `precision` are documented, but `seed`, `question`, and `allowReversed` have no schema descriptions. The description mentions no parameters at all, so it fails to compensate for the gap on three undocumented inputs, including the domain-significant allowReversed flag.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: a cast of 9 runes using the Pennick layout. This is clear enough to identify the operation, but it never distinguishes itself from the sibling rune casts (astroway_runes_single, astroway_runes_three, astroway_runes_by_zodiac) beyond the implicit count in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this 9-rune cast over the single- or three-rune siblings, nor any prerequisites or context for use. The agent must infer selection purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_runes_runesElder Futhark ListBRead-onlyIdempotentInspect
All 24 runes.
[Group: Elder Futhark Runes] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| runes | No | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuine context (10 credits, Tier 1, group name), but it does not clarify whether the result is a fixed reference listing or a randomized draw, which is the key behavioral question for a rune tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
"All 24 runes." is front-loaded and the rest is compact metadata (group, cost/tier) that earns its place as operational context. Nothing is wasted, though the tag formatting is boilerplate rather than explanatory prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value shape needn't be described, and both parameters are schema-documented. The remaining gap is guidance on how this relates to the other rune tools and whether the list is static, which the description leaves unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (fields, precision) are fully documented in the schema, including the compact-mode syntax and precision bounds. The description adds nothing about parameters, so baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"All 24 runes" names the resource and its completeness (the full Elder Futhark set of 24), which implicitly separates it from siblings like astroway_runes_single, astroway_runes_three, or astroway_runes_nine that return subsets. The verb is only implied, but an agent can tell what this returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to pick this over astroway_runes_single/three/nine/by_zodiac, nor any prerequisite or exclusion. The agent must infer from the sibling names alone that this is the catalog/reference call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_runes_singleSingle Rune DrawCRead-onlyIdempotentInspect
Deterministic 1-rune draw.
[Group: Elder Futhark Runes] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| runes | No | |
| source | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, closed-world and non-destructive, so safety is covered. The description adds two genuinely useful facts beyond the annotations: that the draw is deterministic (implying the seed makes results reproducible) and that it costs 10 credits (Tier 1). It does not explain reversal handling or what the draw returns, but with annotations carrying the safety profile a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core capability on line one, followed by two bracketed metadata lines. Nothing is wasted, though the brevity tips into under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, but the five parameters at 40% coverage plus zero usage guidance leave real gaps. An agent cannot tell what seed and date do, how allowReversed interacts with the draw, or when to prefer this over the multi-rune siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% — date, seed, and allowReversed have no schema descriptions. The description compensates with nothing beyond the word "deterministic," which only loosely gestures at the seed parameter. The date/seed semantics and the meaning of allowReversed are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Deterministic 1-rune draw" gives a specific verb (draw) and resource (rune) with the cardinality baked in, which implicitly separates it from runes_three and runes_nine. However, it never names or contrasts those siblings explicitly, so an agent must infer the distinction from the count alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance, no prerequisites, and no routing to alternatives like astroway_runes_three, astroway_runes_nine, or astroway_runes_by_zodiac. The [Group] and [Cost] tags are metadata, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_runes_threeNorn 3-Rune CastCRead-onlyIdempotentInspect
Past/Present/Future (Urdr/Verdandi/Skuld).
[Group: Elder Futhark Runes] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| runes | No | |
| source | No | |
| spread | No | |
| question | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is fully covered. The description's one genuine addition is the cost disclosure (10 credits, Tier 1), which is useful and not present in structured fields, but it says nothing about determinism or how 'allowReversed' affects the cast.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded with the spread meaning, and the cost tag earns its place. However, for a 5-parameter tool the description is undersized rather than efficiently concise — there is essentially no explanatory content beyond the spread name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, but the description omits critical invocation context: whether 'seed' makes the cast reproducible and what 'allowReversed' toggles (reversed rune meanings) are left entirely unexplained. For a divination tool with five optional parameters, this leaves the agent guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: 'fields' and 'precision' are documented in the schema, but 'seed', 'question', and 'allowReversed' carry no explanation in either place. The description contributes zero parameter meaning, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope — a three-rune cast read as Past/Present/Future (Urdr/Verdandi/Skuld) — which implicitly distinguishes it from astroway_runes_single and astroway_runes_nine by cast size. It never uses an explicit verb ('cast'/'draw'), but the spread mapping is concrete enough to identify the tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named, despite obvious siblings (single, nine, by_zodiac). The Past/Present/Future framing weakly implies a situational reading, but nothing tells the agent when to pick this over the 1-rune or 9-rune cast.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_specialized_draconicDraconic ChartBRead-onlyIdempotentInspect
Calculate the draconic chart by shifting all planet longitudes relative to the True Node (0° = True Node).
[Group: Specialized Charts] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| chartSect | No | |
| julianDay | No | |
| houseAspects | No | |
| siderealTime | No | |
| draconicChart | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the 20-credit Tier 2 cost and group membership, which is useful operational context, but says nothing about auth requirements, rate limits, or what happens with conflicting input combinations (e.g. ayanamsa vs ayanamsaId).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence carrying the actual computation, followed by two bracketed metadata lines. Nothing is repeated and the defining detail is front-loaded, so an agent gets the essential semantics immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the core technique is described. But for a 15-parameter tool with 33% schema coverage and several opaque enums (notably houseSystem), plus no routing guidance against the other specialized-chart siblings, the definition leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description adds no parameter meaning at all. Several ambiguous parameters are undocumented anywhere: houseSystem is an opaque 25-value letter enum, zodiacType and cosmogram carry no explanation, and city/name/ayanamsaId are bare. The description compensates only indirectly by defining the draconic shift, which helps interpret the output rather than the inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and resource (draconic chart) and explains the defining technique — shifting all planet longitudes so 0° = True Node — which is genuinely informative. It does not, however, distinguish itself from siblings like specialized_harmonics, heliocentric, or horizon, which are also specialized chart variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative is named despite four sibling 'specialized chart' tools that an agent could easily confuse this with. The credit cost is disclosed, which helps budgeting, but that is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_specialized_harmonicsHarmonic ChartARead-onlyIdempotentInspect
Calculate a harmonic chart by multiplying all planet longitudes by the given harmonic number (H2–H36).
[Group: Specialized Charts] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| chartSect | No | |
| julianDay | No | |
| houseAspects | No | |
| siderealTime | No | |
| harmonicNumber | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds genuinely useful context beyond them: the 20-credit (Tier 2) cost and the group membership, which help an agent judge whether to invoke it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence plus compact group/cost tags; nothing is wasted. It is appropriately sized for the tool's scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover the safety profile. The description supplies purpose, cost, and the harmonic concept; the only real gap is usage guidance versus sibling chart types.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema carries the parameter burden and baseline 3 applies. The description does name the harmonic concept and a range (H2-H36), but that range conflicts with the schema's maximum of 180, adding mild confusion rather than clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate'), a specific resource ('harmonic chart'), and the mechanism ('multiplying all planet longitudes by the given harmonic number'). This distinguishes it from other specialized charts in the sibling list, though it never names them directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not, or alternative guidance. The description never explains when a harmonic chart is preferable to draconic, heliocentric, horizon, or vedic divisional charts, nor what use case the harmonic number serves.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_specialized_heliocentricHeliocentric ChartARead-onlyIdempotentInspect
Calculate heliocentric planetary positions (Sun-centered) for a given birth moment. Earth replaces Sun; Moon is excluded.
[Group: Specialized Charts] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| chartSect | No | |
| julianDay | No | |
| siderealTime | No | |
| heliocentricChart | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent, non-destructive profile, so the description does not need to restate that. It adds useful domain behavior beyond the annotations by explaining the heliocentric substitution and Moon exclusion, and it discloses the 20-credit cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and compact: the core calculation is stated first, followed by the key heliocentric exclusions and metadata. Every line adds relevant information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrological calculation tool with only 33% schema description coverage, the description is too sparse. It correctly summarizes the chart type but omits parameter guidance that an agent needs to assemble a valid request; the existing output schema means return values need not be explained, but the input side remains incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% for 15 parameters, and the description adds no parameter-level meaning. It mentions a 'birth moment' but does not explain required date, time, latitude, longitude, timezone, house system, ayanamsa, or compact-mode fields, leaving most of the schema undocumented in prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Calculate'), resource ('heliocentric planetary positions'), and frame ('Sun-centered', 'given birth moment'). It also clarifies the heliocentric substitution rule (Earth replaces Sun; Moon excluded), which distinguishes it from standard geocentric siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites, and no alternatives named. The Group and Cost tags provide context, but the description does not tell an agent when to select this tool over the related specialized charts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_specialized_horizonHorizon ChartBRead-onlyIdempotentInspect
Calculate azimuth and altitude of planets above the local horizon for a given time and location.
[Group: Specialized Charts] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| above | No | |
| below | No | |
| count | No | |
| positions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so safety and determinism are covered. The description adds only the cost tier ('50 credits (Tier 3)'), which is genuinely useful for agent budgeting, but it says nothing about how 'above the local horizon' filters results or what happens with planets below the horizon.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded blocks with no verbal padding: the purpose sentence first, then group and cost metadata. Every line carries information, though the bracketed metadata lines are somewhat templated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astronomical calculation with 33% schema coverage, the description omits everything an agent would need beyond the bare purpose: sidereal vs tropical choice, timezone resolution rules, house system, output shaping, and failure modes. The output schema covers the return shape, but the input-side guidance is far too thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description adds zero parameter guidance — it never mentions ayanamsa, timezone vs timezoneOffset, zodiacType, houseSystem, or the compact 'fields' mode. For a 15-parameter tool with four required inputs, the description fails to compensate for the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') plus the exact quantities (azimuth and altitude of planets above the local horizon) for a given time and location. This distinguishes it cleanly from the other specialized charts (heliocentric, draconic, harmonics, vedic_divisional) without needing the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource name — an agent can infer 'use when the user wants horizon coordinates.' But with 80+ siblings, including several closely-related specialized charts, the description names no alternative and states no when-not condition or prerequisite for choosing this over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_specialized_vedic_divisionalVedic Divisional Chart (DEPRECATED: use /vedic/varga/{D}<*>)ARead-onlyIdempotentInspect
DEPRECATED: moved to dedicated per-varga endpoints /vedic/varga/{D1..D60} for OpenAPI/SDK ergonomics. This generic endpoint still works and stays live until its 2027-06-15 sunset (12-month, per the /v1 stability policy), then will be removed; migrate to /vedic/varga/{D}. Calculate a Vedic divisional (varga) chart using sidereal zodiac. Supported vargas: D1–D60 (e.g. D9 Nav…
[Group: Specialized Charts] [Cost: 20 credits (Tier 2)] [⚠️ DEPRECATED — will be removed in a future API version. Avoid using.]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| varga | No | |
| planets | No | |
| ayanamsa | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful non-schema context: deprecation status, the sunset date, the stability policy that governs the removal, and the exact replacement path. It does not describe response shape, though an output schema exists to cover that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The deprecation warning and migration path are front-loaded ahead of the functional description, which is exactly the ordering an agent needs. Sentences are dense and each carries distinct information (sunset date, policy reference, replacement endpoint, varga range); nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 100% schema coverage and an output schema, the description need not restate parameters or return values. It covers the two things structured fields cannot convey: deprecation lifecycle and the varga range supported. Only the sibling-selection angle among specialized chart endpoints is left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents birth data fields, timezone rules, fields/precision compact mode, and the required format. The description only names the varga range (D1–D60), which is marginal addition over the schema's `varga` property. Baseline 3 is appropriate when the schema does the explanatory work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Calculate a Vedic divisional (varga) chart using sidereal zodiac', and bounds scope with 'Supported vargas: D1–D60'. It distinguishes itself from the new per-varga endpoints, though it does not differentiate from unrelated siblings like astroway_specialized_draconic or astroway_specialized_harmonics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit migration path and timeline: deprecated in favor of `/vedic/varga/{D1..D60}`, still live until 2027-06-15, then removed. An agent reading this knows to prefer the dedicated endpoints and only fall back here until sunset, but no guidance is offered on choosing between varga and the other specialized-chart tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_stream_eclipse_incomingStream Eclipse IncomingBInspect
Countdown to next 5 eclipses.
[Group: Real-time Streaming] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| pricing | No | |
| eclipses | No | |
| timestamp | No | |
| transport | No | |
| sseUpgrade | No | |
| nextEventAt | No | |
| tickSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the write-ish, non-idempotent, live-data character is already signaled. The description adds useful context the annotations lack — that this is a Real-time Streaming tool and that it costs 10 credits (Tier 1) — but says nothing about stream duration, termination, or what triggers an update, which matters for a streaming endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and kept to a single content sentence plus two bracketed metadata tags. Nothing is wasted, though the metadata lines are formatting rather than explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the cost/streaming tags cover part of the operational picture. Still missing for a streaming, credit-consuming tool: how long the stream runs, how it ends, and when to choose it over the eclipse webhook or totals siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both optional parameters (fields, precision) are fully documented in the schema at 100% coverage, including example paths and rounding semantics, so the schema carries the burden. The description adds nothing about the compact-mode convention, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and output ('Countdown to next 5 eclipses'), which is concrete enough for an agent to know what it returns. It does not, however, distinguish itself from nearby siblings like astroway_stream_eclipse_totality or astroway_webhooks_eclipse_alert, so the boundary between eclipse-related tools is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use, when-not-to-use, or alternative guidance. An agent cannot tell from the text whether this should be preferred over the eclipse webhook or eclipse_totality tools, or under what conditions the streaming variant is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_stream_eclipse_totalityStream Eclipse TotalityCInspect
Next solar+lunar eclipses with totality info.
[Group: Real-time Streaming] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| pricing | No | |
| nextLunar | No | |
| nextSolar | No | |
| timestamp | No | |
| transport | No | |
| sseUpgrade | No | |
| nextEventAt | No | |
| tickSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, non-idempotent and non-destructive, so the safety profile is covered. The description adds genuinely useful context the annotations lack — the 10-credit Tier 1 cost — but says nothing about streaming semantics, latency, or whether the call is a one-shot snapshot or a subscription.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence plus two bracketed metadata tags — no filler. It is efficient, though the bracketed cost/group lines carry more weight than the actual capability sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But for a location-aware streaming tool with four parameters and a nearly identical sibling, the definition omits location semantics, streaming behavior, and any disambiguation, leaving the agent under-equipped to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Latitude and longitude carry no schema descriptions, so half the parameters are undocumented in both schema and description. The description never explains whether a location is required for totality visibility, nor what fields/precision do beyond the schema's own text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (next solar+lunar eclipses) and a distinctive attribute (totality info), which is more specific than the typical eclipse sibling. However, it does not distinguish itself from astroway_stream_eclipse_incoming, which almost certainly also returns upcoming eclipses, leaving the agent to guess which eclipse tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use statement, no prerequisites, and no reference to alternatives such as astroway_stream_eclipse_incoming or the webhook-based astroway_webhooks_eclipse_alert. The only context given is a group tag and a cost tier, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_stream_ingressStream IngressBInspect
Next planet sign-ingresses for N days.
[Group: Real-time Streaming] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| pricing | No | |
| ingresses | No | |
| transport | No | |
| sseUpgrade | No | |
| windowDays | No | |
| nextEventAt | No | |
| tickSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply the safety profile (openWorldHint=true, destructiveHint=false, idempotentHint=false), so the bar is lower. The description adds genuinely useful context in the cost tag (10 credits, Tier 1), but says nothing about the forecast window's default, pagination, or why readOnlyHint is false for what reads like a query.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very compact and front-loaded: purpose first, then the group and cost metadata. Nothing is wasted, though the terse phrasing leaves real gaps rather than being optimally economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a 3-parameter tool with an undocumented `days` parameter and no usage or window-default guidance, the definition is only minimally sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the undocumented parameter is `days`, which the description only restates as 'N days' without units, default, or maximum. The compact-mode params (fields, precision) are documented in the schema but receive no mention here, so the description adds little beyond structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (planet sign-ingresses) and a temporal scope (next N days), which lets an agent distinguish it from siblings like astroway_stream_positions or astroway_stream_retrograde_alerts. It is clear but offers no explicit contrast with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternatives among the many astroway_stream_* siblings. The group/cost tags describe billing, not invocation conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_stream_lunar_phaseStream Lunar PhaseBInspect
Current 8-phase + countdown to next major phase.
[Group: Real-time Streaming] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| phase | No | |
| illuminationPct | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations present, the description adds useful context beyond structured fields: the real-time streaming group and the 10-credit cost. However, it does not explain operational behavior such as whether the stream is a persistent connection, how data is consumed, or what authentication or rate limits apply. No annotation contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loads the core output before appending group and cost metadata. Every element earns its place, though '8-phase' is slightly cryptic without the lunar context from the title. It avoids waste and is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained; annotations and 100% schema coverage handle safety and parameters. The description still leaves the usage decision underspecified relative to the many sibling stream tools. It is adequate but not fully complete for an agent selecting among alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both optional parameters (fields and precision) are already fully documented in the input schema. The description contributes no additional parameter meaning, which is appropriate for the baseline score when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific output: current lunar phase expressed as an 8-phase value plus a countdown to the next major phase. This makes the resource and scope clear, though it lacks an explicit verb like 'streams' or 'retrieves'. It is distinguishable from sibling stream tools by its lunar-phase focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. The group tag '[Group: Real-time Streaming]' implies a context, but it does not tell the agent when to choose this tool over alternatives such as astroway_stream_void_of_course or astroway_stream_ingress. There are no exclusions or alternative-routing instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_stream_planetary_hour_changesStream Planetary Hour ChangesCInspect
Current planetary hour + next 24.
[Group: Real-time Streaming] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| latitude | Yes | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. |
Output Schema
| Name | Required | Description |
|---|---|---|
| next | No | |
| current | No | |
| pricing | No | |
| timestamp | No | |
| transport | No | |
| sseUpgrade | No | |
| next24Hours | No | |
| nextEventAt | No | |
| tickSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety/lifecycle profile (not read-only, not idempotent, open-world, non-destructive), so the description need not restate it. It does add context the annotations lack – group membership and a 10-credit Tier 1 cost – but says nothing about how the stream behaves (push vs. poll, cadence, termination). Modest value-add over structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded, with group and cost metadata cleanly bracketed. Nothing is padded, though the terseness shades into under-specification rather than true economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape is covered, but for a 5-parameter streaming tool with minimal annotations the description omits usage routing, streaming behavior, and meaning for the required coordinates. Too thin for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 60%, and critically the two REQUIRED parameters (latitude, longitude) have no schema description at all. The description supplies no coordinate semantics, no units, and no guidance on timezoneOffset interplay, so it fails to compensate for the coverage gap on the most important inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Current planetary hour + next 24" names the resource (planetary hour) and the window (next 24), and the group tag confirms it is a streaming tool. But "next 24" is ambiguous (24 hours vs. 24 changes) and there is no verb framing what is returned. It identifies the subject without cleanly differentiating it from siblings like astroway_stream_positions or astroway_webhooks_planetary_hour_tick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no when-not-to-use, and no named alternative among the many stream/webhook siblings. The agent must infer from the group tag that this is a live-feed tool and cannot tell when to prefer it over a webhook subscription or a positions stream.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_stream_positionsStream PositionsBInspect
Current planetary positions snapshot, tickSeconds=30.
[Group: Real-time Streaming] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| planets | No | |
| pricing | No | |
| julianDay | No | |
| timestamp | No | |
| transport | No | |
| sseUpgrade | No | |
| tickSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds two behavioral facts the annotations do not carry: a 30-second tick cadence and a 10-credit (Tier 1) cost. However, with readOnlyHint=false and idempotentHint=false, the annotations leave open whether this opens a persistent stream, how it is terminated, or whether credits are charged per call or per tick, and the description does not resolve any of that; the word 'snapshot' also sits in mild tension with readOnlyHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely compact and front-loaded: the purpose is the first clause, followed by the cadence and bracketed group/cost metadata. Nothing is wasted, though the bracketed tags are metadata rather than description prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and both parameters are covered. But for a streaming tool the description omits how the stream behaves, how long it runs, and how to stop it, and offers no routing against the many similar stream siblings, leaving real gaps for an agent deciding to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (fields, precision) are fully documented with examples and defaults in the schema itself. The description adds nothing about parameters, and tickSeconds=30 is not one of the declared parameters, so this sits at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: 'Current planetary positions snapshot', which is concrete enough that an agent knows it retrieves a point-in-time set of planetary positions. It does not, however, differentiate itself from the many sibling stream_* tools (transit alerts, ingress, lunar phase), which is the main missing piece for a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives such as astroway_mcp_streaming, astroway_stream_transit_alerts, or the webhook subscribe tools. The only operational cue, tickSeconds=30, hints at a recurring cadence but does not explain when this snapshot is preferable to a one-off chart calculation or a subscription.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_stream_retrograde_alertsStream Retrograde AlertsCInspect
All planets retro state + next stations.
[Group: Real-time Streaming] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| planets | No | |
| pricing | No | |
| timestamp | No | |
| transport | No | |
| sseUpgrade | No | |
| nextEventAt | No | |
| tickSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations supply a safety profile (readOnlyHint=false, idempotentHint=false, openWorldHint=true), but they are puzzling for an alerting tool and the description does nothing to resolve that. The "[Group: Real-time Streaming]" and 10-credit cost tags are useful metadata, yet the description never explains what streaming means here, whether it blocks, or how alerts are delivered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely compact and front-loaded: the functional sentence comes first, followed by two bracketed metadata tags that each carry real information (grouping and cost). Nothing is padded, though the terseness borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no prose, but for a paid (10 credits), streaming, alert-oriented tool sitting among many near-identical stream/webhook siblings, the definition omits the usage and behavior context an agent needs to select it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so `fields` (dotted-path compaction) and `precision` (decimal rounding) are already fully documented with examples in the schema. The description adds no parameter information, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"All planets retro state + next stations" names a concrete resource (planetary retrograde/direct stations) with a specific scope (all planets), which is distinguishable from siblings like astroway_stream_void_of_course and astroway_stream_ingress. It is verb-less and telegraphic, but the subject matter is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus the closely related astroway_webhooks_retrograde_start/end or astroway_stream_transit_alerts. Whether this is a one-shot snapshot of current retrograde state or an actual continuous stream is never clarified, which is exactly the decision an agent needs to make.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_stream_sunrise_sunsetStream Sunrise/SunsetCInspect
Today + tomorrow sun events.
[Group: Real-time Streaming] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| latitude | Yes | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. |
Output Schema
| Name | Required | Description |
|---|---|---|
| today | No | |
| pricing | No | |
| tomorrow | No | |
| timestamp | No | |
| transport | No | |
| sseUpgrade | No | |
| nextEventAt | No | |
| tickSeconds | No | |
| nextEventKind | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare openWorldHint=true, idempotentHint=false, destructiveHint=false, so the safety profile is covered. For a streaming tool the critical undisclosed behavior is how the stream is delivered (polling, SSE, cadence, termination), which the description omits entirely. It does add the cost (10 credits, Tier 1) and time scope, which is genuine value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and front-loads the scope ("Today + tomorrow sun events") before the structured cost/group tags. Nothing is wasted, though the brevity comes at the cost of substance rather than being lean-but-complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a 5-parameter streaming tool, the description omits the single most important thing an agent needs — how the stream behaves and how to consume it — leaving it inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%: fields, precision, and timezoneOffset are documented in the schema, while the two required parameters (latitude/longitude) are undocumented in both places. The description adds nothing about parameters, but latitude/longitude are self-evident by name, so the schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Today + tomorrow sun events" names the resource (sun events) and a scope (today + tomorrow), but is a noun fragment with no verb — the streaming action is only implied by the title/name. It loosely distinguishes from siblings like stream_lunar_phase or stream_positions by resource, but never says it returns sunrise/sunset times specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no routing to alternatives such as astroway_webhooks_eclipse_alert or other stream_* tools. The "[Group: Real-time Streaming]" tag categorizes but does not tell an agent when to select this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_stream_transit_alertsStream Transit AlertsCInspect
Natal-transit hits within next N hours.
[Group: Real-time Streaming] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| orb | No | |
| count | No | |
| alerts | No | |
| pricing | No | |
| transport | No | |
| sseUpgrade | No | |
| nextEventAt | No | |
| tickSeconds | No | |
| windowHours | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare openWorldHint=true, readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the safety profile is covered. The description adds only billing metadata (10 credits, Tier 1); it discloses nothing about whether the tool polls or streams, whether the alert window is one-shot, or how hits are delivered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One line, front-loaded with the actual function, with no padding or repetition. It loses a point because half the text is bracketed group/cost metadata rather than task-relevant instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Placeholder mismatch check: an output schema exists, so return values need no prose. The input schema itself is exhaustively documented, including birth-data rules and compact-mode fields, so the definition is not the bottleneck here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema carries the parameter docs and the baseline is 3. 'Next N hours' does lightly bind to the nested 'hours' knob, but the description adds no syntax, limits, or defaults beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (natal-transit hits) and the window (next N hours), so an agent can tell this computes upcoming transits to a natal chart. It stops short of a verb and gives no differentiation from near-neighbours like astroway_webhooks_transit_trigger or astroway_ai_interpret_transits, so the agent cannot confidently route on this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, no when-not-to-use, and no named alternative. The '[Group: Real-time Streaming]' tag implies a streaming/alerts context, but the agent gets no guidance on choosing this over the webhook or interpretation siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_stream_void_of_courseStream Void-of-CourseCInspect
Current Moon VOC + next ingress.
[Group: Real-time Streaming] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | No | |
| pricing | No | |
| julianDay | No | |
| timestamp | No | |
| transport | No | |
| sseUpgrade | No | |
| nextEventAt | No | |
| nextIngress | No | |
| tickSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare `readOnlyHint: false`, `idempotentHint: false`, and `openWorldHint: true`, but the description does not explain what the stream does, how it is consumed, what triggers emissions, or why the annotations show a non-idempotent, non-readonly profile for what looks like a read of ephemeris data. It adds only the cost/credit tier, not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded — one line plus two bracketed metadata tags. Nothing wasted, though the brevity itself is part of the problem since more disclosure is needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a real-time streaming tool with a non-trivial annotation profile and many siblings, the description is too thin. It does not explain stream semantics, emission triggers, or how consumption differs from the webhook sibling; the presence of an output schema covers return values but not stream behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (`fields`, `precision`) are fully documented in the schema with examples and defaults. Baseline 3 applies since schema coverage is 100% and the description adds nothing parameter-related.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (Moon void-of-course) and the payload (current VOC + next ingress). It is understandable but terse and does not distinguish this streaming endpoint from siblings like `astroway_stream_ingress` or `astroway_webhooks_void_of_course_start`, which cover closely related events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus `astroway_webhooks_void_of_course_start` (webhook for the start event) or `astroway_stream_ingress` (other streamed ingresses). The agent must infer the streaming-vs-webhook distinction from the group tag alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_lenormand_cardsLenormand: All CardsCRead-onlyIdempotentInspect
36-card Lenormand oracle deck.
[Group: Tarot: Lenormand] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered without description help. The description adds the cost ('10 credits (Tier 1)') and a taxonomy group, which are useful behavioral/metering details not present in the structured fields. It does not describe the payload or return shape, though an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The prose is extremely tight and front-loads the resource identity, with cost and group following as compact bracket tags. Nothing is redundant or bloated, though the brevity edges into under-specification rather than pure conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a fully documented two-parameter schema, an output schema, and rich read-only annotations, the definition has enough structure to be callable. The main missing context is usage routing among the many Lenormand/Tarot siblings, which leaves an agent to infer when this reference listing is preferable to a draw tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'fields' and 'precision' are fully explained in the input schema, including the dotted-path syntax and rounding semantics. The description adds no parameter meaning beyond that, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a 36-card Lenormand oracle deck but never supplies a verb or action, leaving it to implication that the tool returns the full card list. It does not differentiate this reference listing from siblings such as astroway_tarot_lenormand_cards_slug or the various draw_* spread tools. The title 'Lenormand: All Cards' carries much of the disambiguation that the description itself lacks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the many sibling tools (draw_three_card, draw_grand_tableau, cards_slug, houses) that an agent could confuse with this one. The closest thing to context is the group tag '[Group: Tarot: Lenormand]', which categorizes rather than routes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_lenormand_cards_slugLenormand: Single CardBRead-onlyIdempotentInspect
Single Lenormand card lookup by slug.
[Group: Tarot: Lenormand] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Card slug, lowercase and hyphenated. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| slug | No | |
| number | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and non-open-world, so the safety profile is covered. The description adds a group label and a cost caveat ('see your plan — endpoint not in the public credit manifest'), which is genuinely useful context but does not disclose return behavior or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and waste-free. The bracketed group and cost lines are boilerplate but short and clearly separated from the functional description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-record lookup with a full output schema, complete param coverage and annotations covering the safety profile, the description supplies enough. Only the absence of sibling routing keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so slug, fields and precision are already fully documented in the schema. The description adds only 'by slug' and nothing about the compact-mode fields/precision parameters, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Single Lenormand card lookup by slug.' The words 'Single' and 'by slug' distinguish it from the sibling list tool astroway_tarot_lenormand_cards, though the sibling is never named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives such as the plural cards list or the draw_* spread tools. The agent must infer that this fetches one card's record from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_lenormand_dailyLenormand: Daily CardsBRead-onlyIdempotentInspect
Daily three-card draw based on date seed.
[Group: Tarot: Lenormand] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive, so safety is covered; the description adds two things they do not: the draw is date-seeded (i.e., reproducible for a given date rather than random) and it costs 10 credits at Tier 1. Cost and determinism are genuine invocation-relevant facts for an agent budgeting calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence carries the core behavior, with group and cost metadata in bracketed tags that scan quickly. Nothing is redundant, though the sparseness means some agent-facing questions go unanswered rather than being deliberately omitted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter tool with an output schema, the return-value burden is lifted, and annotations cover the safety profile. Still missing: whether `date` defaults to today, and any routing signal versus the near-identical three-card and other-tradition daily siblings, which is the main risk for this agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 67% schema description coverage, the schema documents `fields` and `precision` in detail, so the description need not repeat them. It only gestures at `date` via 'based on date seed' and never states the expected YYYY-MM-DD format or that the parameter is optional and defaults to today, leaving a small gap the schema's bare pattern does not fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('daily three-card draw') and adds the generative mechanism ('based on date seed'), so an agent knows this is a deterministic, date-keyed draw rather than a random one. It does not name the very similar sibling astroway_tarot_lenormand_draw_three_card, so the distinction is inferable but not stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Nothing says when to pick this over astroway_tarot_lenormand_draw_three_card, astroway_tarot_marseille_daily, or astroway_tarot_rider_waite_daily. The word 'Daily' hints at a daily-card-of-the-day use case but no alternative or exclusion is given, so the agent must guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_lenormand_draw_9_card_squareLenormand: 9-Card SquareBRead-onlyIdempotentInspect
Three-by-three grid: rows = past/present/future, cols = mind/heart/body.
[Group: Tarot: Lenormand] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is fully covered. The description's only added behavioral content is the cost (10 credits, Tier 1) and group label, which is useful meta-context but says nothing about output shape or how allowReversed interacts with Lenormand readings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse lines with the layout semantics front-loaded and no filler; the cost/group metadata is compact. It is efficient, though the terseness arguably comes at the cost of the missing usage and parameter guidance noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and cost/group are covered. However, for a 5-param tool at 40% schema coverage with a meaningful allowReversed flag, the description leaves an agent without enough to invoke confidently beyond the defaults.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: seed, question, and allowReversed have no schema descriptions, and the description adds no parameter meaning at all. allowReversed in particular (default true) is semantically loaded for a Lenormand draw and is left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explains what the spread's layout means (rows = past/present/future, cols = mind/heart/body), which is genuinely useful and distinguishes this 3x3 square from sibling draws like line_of_five or grand_tableau. It never states the core action (draw nine Lenormand cards), but the name carries that and the layout semantics are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no indication of what question types suit a 9-card square, and no reference to alternatives despite a large family of tarot_lenormand_draw_* siblings (three_card, line_of_five, grand_tableau, celtic_cross). The layout description implies a use case but nothing is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_lenormand_draw_celtic_cross_lenormandLenormand: Celtic CrossCRead-onlyIdempotentInspect
Adapted Celtic Cross with Lenormand cards.
[Group: Tarot: Lenormand] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive behavior, so the safety profile is covered. The description adds the billing dimension (10 credits, Tier 1), which an agent genuinely needs before invoking a metered tool, but it says nothing about how the draw behaves, what the spread positions are, or whether the question influences the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded lines with no filler; the spread identity leads and the cost metadata is clearly bracketed. It is efficient, though the brevity borders on under-specification rather than true economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but the description omits spread structure, question handling, and the meaning of allowReversed, which are the details an agent needs to invoke a 5-parameter metered tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, so the description is expected to compensate for undocumented parameters, and it does not. Nothing explains seed, question, or allowReversed, all of which materially affect a divination draw, leaving the burden entirely on a partially documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific spread (Adapted Celtic Cross) and the divination system (Lenormand cards), which distinguishes it from sibling Celtic Cross draws in the Marseille and Rider-Waite families. It is clear but does not explicitly name or route away from the near-duplicate sibling astroway_lnd_celtic_cross_lenormand.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this spread over the many other Lenormand draw tools (grand_tableau, three_card, line_of_five, relationship, 9_card_square). The only context offered is a group tag and credit cost, which is pricing metadata rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_lenormand_draw_grand_tableauLenormand: Grand TableauBRead-onlyIdempotentInspect
Full 36-card layout: every card and house used.
[Group: Tarot: Lenormand] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds billing context (10 credits, Tier 1), which the agent cannot get from annotations. It says nothing about randomization, seeding, or what the layout output looks like, but with annotations and an output schema present, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded single line of substance, with group and cost tags on separate lines. Nothing is padded, though the tag lines occupy real estate for little semantic value beyond cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return format is not the description's burden, and the title plus card count make the spread self-explanatory. Still, with 5 parameters at low coverage and no usage or draw-mechanics context, the definition is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% across 5 parameters, and the description adds no parameter meaning at all. It does not explain seed, fields, precision, or allowReversed; 'every card and house used' only loosely hints that reversals may apply. The description fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and scope: 'Full 36-card layout: every card and house used.' This distinguishes it from the smaller spreads among siblings (three_card, line_of_five, 9_card_square) by naming the full-deck scope. It never explicitly frames itself as a spread variant versus those siblings, though the card count does the differentiating work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named. The agent is left to infer that this is the heaviest Lenormand spread versus draw_three_card or draw_9_card_square, and there is no hint about prerequisites or when a smaller spread would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_lenormand_draw_line_of_fiveLenormand: Line of FiveCRead-onlyIdempotentInspect
Five-card linear story spread.
[Group: Tarot: Lenormand] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is covered. The description adds the credit cost (10 credits, Tier 1) and the spread group, which is useful operational context, but says nothing about randomization, seeding, or reversed cards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded line plus metadata tags. Nothing wasted, though the tags occupy space that could have carried usage or parameter guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a draw tool with three undocumented inputs and many sibling spreads, the description leaves the agent without enough to select or configure the call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 40%; only `fields` and `precision` are documented in the schema. The domain-critical parameters `seed`, `question`, and `allowReversed` have no schema description and no mention in the tool description, so their behavior is unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource ('Five-card linear story spread') and the card count does implicitly differentiate it from the sibling three-card, nine-card-square and grand-tableau draws. However, there is no verb ('draw'), and the description never names the alternatives it is distinguished from, so the agent must infer the routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not, or alternative guidance. A crowded sibling set of Lenormand draws (three_card, 9_card_square, grand_tableau, relationship, celtic_cross) offers no clue which spread to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_lenormand_draw_relationshipLenormand: RelationshipCRead-onlyIdempotentInspect
7-card relationship dynamics.
[Group: Tarot: Lenormand] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered structurally. The description adds only the cost context ('10 credits, Tier 1'), which is genuinely useful meta-info but not behavioral detail about the draw itself (e.g., whether allowReversed alters output, whether seed reproducibility matters).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded, with the substantive purpose stated first. The bracket tags (Group, Cost) are boilerplate but carry real information. It leans toward under-specification rather than verbosity, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters, four of which are undocumented, and no usage routing against ~15 sibling draw tools, the description is too thin. An output schema exists so return values need not be explained, but the missing parameter meaning and absence of draw-selection guidance leave real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 40%: only 'fields' and 'precision' are described in the schema, while 'seed', 'question', and 'allowReversed' have no documentation. The description adds nothing about any parameter, so it fails to compensate for the coverage gap — notably silent on whether 'question' shapes the reading or what 'allowReversed' defaults to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the spread size and topic ('7-card relationship dynamics'), which adds specificity beyond the tool name and distinguishes it from siblings like draw_three_card and draw_grand_tableau. However, it is a noun fragment rather than a stated action, so the actual draw operation is only implied by the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this spread over the many other Lenormand and tarot draw tools (three-card, line-of-five, nine-card square, grand tableau). No prerequisites, no exclusions, and no mention of when a relationship question warrants this seven-card spread.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_lenormand_draw_three_cardLenormand: Three-CardBRead-onlyIdempotentInspect
Subject / Situation / Outcome three-card line.
[Group: Tarot: Lenormand] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description's only added behavioral fact is the cost (10 credits, Tier 1), which is genuinely useful for an agent, but it says nothing about the allowReversed behavior, determinism via seed, or what the drawn cards represent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, with the spread definition first and metadata tags after. No wasted prose, though the bracketed Group/Cost tags are metadata rather than description content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, for a 5-parameter tool at 40% schema coverage with no usage guidance, the definition leaves gaps an agent would have to infer from the name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%, so the schema does not fully document the 5 parameters (seed, question, and allowReversed lack descriptions). The description adds no parameter meaning at all — no hint about what 'question' does, how 'seed' provides reproducibility, or how 'allowReversed' affects the draw. It fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact spread layout ('Subject / Situation / Outcome three-card line'), which specifies both the resource (Lenormand three-card draw) and its positional meaning. This distinguishes it from sibling Lenormand spreads like line_of_five, grand_tableau, and relationship, though the verb 'draw' is only implied via the name and title rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this spread over alternatives such as astroway_tarot_lenormand_draw_line_of_five or draw_relationship, nor any prerequisite or context. The positional labels hint at a simple situation-reading use case but nothing is explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_lenormand_housesLenormand: 36 HousesBRead-onlyIdempotentInspect
The 36 fixed houses for Grand Tableau interpretation.
[Group: Tarot: Lenormand] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered. The description adds only domain framing ('fixed houses'), giving no indication that this is a static reference list with no input-dependent variation beyond the schema params.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with the group/cost tags after it. Nothing is wasted, though it is so terse that the metadata tags carry much of the informational weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and annotations cover safety. However, for a reference tool that is presumably consumed together with the Grand Tableau draw tool, the description omits any relational context an agent would need to chain them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both optional params (fields, precision) are fully explained in the schema. The description adds nothing about them, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (the 36 fixed houses) and names the domain use case (Grand Tableau interpretation), which distinguishes it from the drawing tools like draw_grand_tableau and the card reference tool. The verb is implicit ('returns/lists'), so it stops short of a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for Grand Tableau interpretation' implies when the tool is relevant, but it never states when-not to use it or names an alternative sibling (e.g. the spread-drawing tools that consume these houses). Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_birth_cardMarseille: Birth CardBRead-onlyIdempotentInspect
Birth card per Greer method, Marseille deck.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| primary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds cost transparency (10 credits, Tier 1) and the group tag, which is genuinely useful and beyond structured data, but says nothing about how the birth card is derived or what makes the Greer method distinct.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded: the purpose leads and the metadata tags follow. Nothing is redundant, though the single fragment is arguably under-specified rather than optimized for concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the tool's mutation-free nature is covered by annotations. What is missing is the meaning of the inputs/output: whether `date` is a birth date and how the Greer birth card is calculated, leaving the agent to guess at intent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: `fields` and `precision` are documented in the schema, while the required `date` carries only a pattern and no semantic explanation. The description contributes nothing about parameters, so this is the baseline case where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific resource (birth card), the calculation method (Greer), and the deck (Marseille), which implicitly separates it from the parallel rider_waite_birth_card sibling. It lacks a verb (compute/generate) and never names an alternative explicitly, but the resource is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to the many sibling tarot tools (e.g. astroway_tarot_marseille_year_card or astroway_tarot_rider_waite_birth_card). The agent must infer selection criteria from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_cardsMarseille: All CardsARead-onlyIdempotentInspect
78-card Marseille deck. Justice = 8, Strength = 11 (pre-Waite swap). Pip minors interpreted by number+suit.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safe-read profile is covered without description help. The description adds content conventions (deck size, trump numbering, pip interpretation) that are useful interpretation context but not behavioral traits such as pagination, rate limits, or return shape — and with an output schema present, the return format need not be repeated here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the highest-value fact (78-card Marseille deck) and the numbering caveat that most affects interpretation. The trailing [Group:]/[Cost:] tags are boilerplate metadata rather than description prose, so the size is well judged.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety, a full output schema covering the return payload, and 100% parameter documentation, the description only needs to establish scope and tradition — which it does via the 78-card count and Justice/Strength swap note. Only the lack of explicit sibling differentiation keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The two parameters (fields, precision) are generic compact-mode controls that the description does not touch at all; it neither clarifies nor obscures them, and the schema already carries the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource precisely (the full 78-card Marseille deck) and adds distinguishing interpretive conventions — Justice=8, Strength=11, pip minors read by number+suit — which separate it from the Rider-Waite lineage. It never explicitly contrasts with nearby siblings like astroway_tarot_marseille_majors or astroway_tarot_marseille_cards_slug, so the agent must infer scope from '78-card' alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: stating '78-card' signals a full-deck reference lookup as opposed to the majors-only or slug-lookup siblings, but there is no explicit 'use this when' or named alternative. The agent can infer intent, but nothing routes it away from cards_slug if slug-keyed access was actually wanted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_cards_slugMarseille: Single CardBRead-onlyIdempotentInspect
Single Marseille card lookup by slug.
[Group: Tarot: Marseille] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Card slug, lowercase and hyphenated. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| slug | No | |
| category | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds one genuinely useful piece of non-annotation context: the cost note ('see your plan — endpoint not in the public credit manifest'). It says nothing about pagination or payload shape, though the output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence followed by two compact metadata lines; nothing is padded. The bracketed group/cost lines are boilerplate but short and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full annotations, a complete input schema and an output schema, the safety and return-shape burdens are carried elsewhere. The remaining gap is routing guidance versus the sibling card-listing tool, which the description does not close.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter (slug, fields, precision) is already documented with format hints in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (lookup), a specific resource (single Marseille card) and the key (slug), which is enough to separate it from the plural sibling astroway_tarot_marseille_cards. It does not explicitly name that sibling, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no alternative is named. The contrast with astroway_tarot_marseille_cards is only implicit in the word 'Single', leaving the agent to infer when a card-by-slug lookup is preferable to listing cards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_clarifyMarseille: ClarifierCRead-onlyIdempotentInspect
Single clarifying card.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| type | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the cost/tier metadata (10 credits, Tier 1), which is genuinely useful pre-call information, but says nothing about whether a seed makes the draw deterministic or how reversed cards are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded with the core noun phrase first, then metadata tags. Nothing is padded, though the brevity is arguably under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with 40% schema coverage and no usage guidance, this is thin. The presence of an output schema excuses it from describing return values, but the missing parameter docs and the absent distinction from sibling draw/clarify tools leave real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: seed, question and allowReversed have no schema description, and the description adds no meaning for any parameter. With sub-50% coverage the description is expected to compensate, and it does not — notably it never explains that `question` is the prompt being clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific deliverable (a single clarifying card) within the Marseille tarot group, but the verb is implicit and it never distinguishes itself from close siblings like astroway_tarot_marseille_draw_single or astroway_tarot_rider_waite_clarify. An agent can infer the resource but not why this differs from a plain single-card draw.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. Nothing states that this is meant to be drawn after a prior reading to resolve ambiguity, or how it relates to draw_single / draw_three_card. The agent is left to guess the intent from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_dailyMarseille: Daily CardBRead-onlyIdempotentInspect
Daily Marseille card based on date seed.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety and determinism profile is largely covered. 'Based on date seed' reinforces the idempotent behavior, and the tier cost is disclosed, but nothing is said about what the card output contains or whether the date defaults to today.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The operative sentence is front-loaded and free of waste, with the group/cost metadata clearly boxed off. It is tight to the point of being sparse, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. What remains missing is the optional-date default behavior and any differentiation from the close tarot siblings, which an agent selecting among ~40 tarot tools would benefit from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: fields and precision are well documented in the schema, while date carries only a regex pattern and no description. 'Based on date seed' implies the date drives the result but does not explain the default when omitted (0 required params) or the expected date format beyond the schema pattern. Baseline 3 is appropriate given moderate coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Marseille daily card) and the mechanism ('based on date seed'), which distinguishes it from the random draw_* siblings. It does not, however, name an alternative sibling explicitly or clarify how it differs from astroway_tarot_marseille_draw_single.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of context for a daily card versus a spread, and no reference to the many tarot siblings such as draw_single or the Rider-Waite/Lenormand daily variants. The only added context is group and cost metadata.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_draw_careerMarseille: CareerCRead-onlyIdempotentInspect
4-card career spread.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description's one genuine addition is the cost metadata (10 credits, Tier 1), which matters for agent budgeting. It still says nothing about how seeding works, whether the spread is deterministic, or whether a question is required to get a meaningful reading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and free of filler: the spread definition comes first, with group and cost as compact bracketed metadata. It is efficient, though its brevity edges toward under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter divination tool, the definition is incomplete: no explanation of the question/seed/allowReversed semantics, no usage context, and no note that all parameters are optional and the spread can be drawn cold. The output schema does relieve it of explaining return values, but the remaining gaps are substantial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% — 'fields' and 'precision' are documented in the schema but 'seed', 'question' and 'allowReversed' are bare. The description contributes zero parameter meaning, so it does nothing to compensate for the undocumented half. An agent cannot tell from either source what 'question' does or how 'seed' affects reproducibility.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment '4-card career spread' identifies the resource and the deck variant via the [Group: Tarot: Marseille] tag, and adds the card count beyond the title 'Marseille: Career'. However there is no verb ('draw', 'deal') and no explicit differentiation from astroway_tarot_rider_waite_draw_career or the other Marseille spreads (love, spiritual, decision) — the agent must infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all: nothing says when to pick a career spread over draw_three_card or draw_celtic_cross, when Marseille is preferred over Rider-Waite, or whether the caller should supply a question. The only selection signal is the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_draw_celtic_crossMarseille: Celtic CrossCRead-onlyIdempotentInspect
Adapted 10-card Celtic Cross with Marseille pip-style reading.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful behavior context by disclosing the 10-credit cost and that the spread is 'adapted' rather than canonical, but it says nothing about how seed drives determinism or what allowReversed does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is two short lines, front-loading the spread and style before the metadata tags. Nothing is padded, though the brevity reflects missing content rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations carry the safety profile. However, with 5 parameters at 40% coverage and no usage guidance, the definition is too thin for an agent to invoke it confidently versus the numerous sibling tarot draws.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: seed, question, and allowReversed are undocumented in the schema, and fields/precision are. The description mentions no parameters at all, so it fails to compensate for the uncovered three, leaving core inputs like the question text and reversed-card behavior unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific spread (10-card Celtic Cross) and its interpretive style (Marseille pip-style), so an agent knows exactly what reading is produced. It does not differentiate from the many sibling draw tools (e.g. astroway_tarot_rider_waite_draw_celtic_cross, astroway_tarot_marseille_draw_cross, astroway_lnd_celtic_cross_lenormand), which is why it falls short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this spread over a sibling such as draw_cross, draw_seven_card, or the Rider-Waite Celtic Cross. The name implies a draw action but the description offers no usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_draw_crossMarseille: Tirage Réduit (Jodorowsky Reduced Cross)BRead-onlyIdempotentInspect
Authentic 5-card cross from Jodorowsky/Costa "The Way of Tarot" + Camoin ArtduTarot: 4 Major Arcana (consultant / external / higher / result) + 5th synthesis card (numerological sum reduced ≤22).
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds pricing context (10 credits, Tier 1) but says nothing about determinism/seed behavior or the effect of allowReversed, which are behavioral traits not in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core spread description is one efficient, front-loaded sentence with positional labels, followed by two short bracketed metadata tags. Nothing is redundant, though the quoted source attribution is more flavor than functional information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the spread layout is fully described. However, for a tool with zero required parameters and an undocumented question/allowReversed, an agent lacks enough to invoke it optimally; the definition is adequate but leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: fields and precision are documented, but seed, question, and allowReversed are bare. The description does not compensate, providing no explanation of what question does or that allowReversed controls upright/reversed orientation, so half the parameters remain opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (draw a 5-card Marseille reduced cross) and even enumerates the five positional meanings, which differentiates it from other tarot draw tools. It does not name or contrast with the nearest siblings (draw_celtic_cross, draw_seven_card, draw_three_card), so a routing decision still needs the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites, and no mention of alternatives despite many sibling spread tools. The positional meanings hint at the scope of the reading, but nothing tells the agent which situations call for this spread over a seven-card or Celtic cross.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_draw_decisionMarseille: Yes/NoCRead-onlyIdempotentInspect
Single-card yes/no with verdict.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | No | |
| verdict | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is fully covered. The description adds only the credit cost (10 credits, Tier 1), which is genuinely useful for budgeting but thin. No return format or guaranteed-verdict behavior is described, though an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short line, front-loaded with the tool's function; the bracketed group/cost metadata is compact. No wasted prose, though the brevity is partly because so little is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema relieves the description of explaining return values, and annotations cover safety. But with three of five parameters undocumented and no usage context, the definition is not complete enough for confidently invoking a decision tool inside a large tarot family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Five parameters at only 40% schema description coverage, and the description mentions none of them. In particular, 'question', 'seed', and 'allowReversed' are undocumented in both places, so the description does nothing to compensate for the coverage gap on a decision tool where the question input is central.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific outcome: a single-card yes/no draw that produces a verdict. That distinguishes it from the generic astroway_tarot_marseille_draw_single and from spread tools, though it doesn't name any sibling directly. Clear verb-and-resource content without explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives, no exclusions. The description is essentially a title plus cost metadata, leaving the agent to infer that 'decision' means a binary question should be supplied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_draw_heroMarseille: Tirage du Héros (Hero's Journey)BRead-onlyIdempotentInspect
Authentic 6-card Hero's Journey spread from Jodorowsky/Costa "The Way of Tarot": Hero / Objective / two Obstacles / Key / Resolution.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds only the credit cost (10 credits, Tier 1) and the spread composition; it does not explain seed determinism, how allowReversed affects the reading, or whether a question is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences plus group/cost tags, front-loaded with the spread identity. Nothing is padded, though the group and cost metadata sit after the substantive content rather than being integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and all parameters are optional. The description covers the spread's shape and cost, but omits selection guidance against sibling draws and any parameter behavior, leaving modest gaps for a paid draw tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 40% (seed, fields, precision documented; question and allowReversed undocumented), and the description adds nothing about any of the five parameters — not their format, defaults, or effect. With low coverage the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — a 6-card Hero's Journey spread with its exact positions (Hero / Objective / two Obstacles / Key / Resolution) and cites its source (Jodorowsky/Costa). That is enough to distinguish it from the many other Marseille draw siblings (cross, decision, love, seven_card, etc.) by spread type, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. It does not say which question types or situations call for the Hero's Journey spread rather than, say, draw_decision or draw_celtic_cross, nor any prerequisites. Usage is only faintly implied by the spread's name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_draw_loveMarseille: LoveCRead-onlyIdempotentInspect
5-card love and connection spread.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so safety is covered. The description adds genuinely new behavioral information — a 10-credit Tier 1 cost — which matters for a paid draw. It does not disclose whether the draw is deterministic from seed, how allowReversed affects output, or how the question influences the spread.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded one-line purpose with structured Group/Cost tags; nothing is padded. It is arguably too terse, but every element present earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, but for a 5-parameter paid tool the description omits the role of question (a 500-char love question), seed determinism, and reversal handling. Cost is the only substantive addition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 40% (only fields and precision are documented), below the 50% threshold, so the description must compensate — and it says nothing about seed, question, or allowReversed. The description adds zero parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource — a 5-card Marseille love/connection spread — with the card count and topic that separate it from draw_career, draw_spiritual, and draw_seven_card. It never explicitly names a sibling or says what it produces beyond the spread, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. With sibling love-oriented tools such as tarot_rider_waite_draw_love_triangle, tarot_lenormand_draw_relationship, and relational_match_score in the catalog, an agent gets no basis for choosing this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_draw_seven_cardMarseille: Seven-CardCRead-onlyIdempotentInspect
7-card pyramid spread.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so safety is covered. The description adds genuinely useful non-annotation context – a 10-credit Tier 1 cost and the Marseille group – but says nothing about what the draw returns (e.g. reversed-card handling given allowReversed defaults true) or whether a question is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded with the spread identity, with cost/group in a scannable bracketed block. However, the extreme brevity is under-specification rather than disciplined conciseness – nothing is wasted, but too little is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, but for a 5-parameter tool at 40% schema coverage the description leaves the agent without when-to-use direction, parameter meaning, or spread-position context. The cost note is the only content beyond the label.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% (only 'fields' and 'precision' are documented; seed, question and allowReversed are not), so the description must compensate and does not. It mentions no parameter at all – not the question text, the seed for reproducibility, or the meaning of allowReversed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific, recognizable artifact – a '7-card pyramid spread' – which together with the tool name tells the agent this draws a seven-card Marseille tarot spread. It is clear about the resource produced, but offers no differentiation from the many other Marseille draw siblings (celtic cross, three-card, cross, love, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this spread over alternatives like astroway_tarot_marseille_draw_celtic_cross or draw_three_card, nor any prerequisite or question-context advice. The only supplementary text is group/cost metadata, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_draw_singleMarseille: Single CardCRead-onlyIdempotentInspect
Single-card draw from Marseille deck.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this a safe, idempotent, closed-world read, so the safety burden is lifted. The description adds genuinely useful non-schema context: it is a 10-credit Tier 1 operation in the Tarot: Marseille group. It says nothing about how reversed cards behave, how the seed affects reproducibility, or what a draw returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very lean and front-loaded: the purpose sentence leads, metadata follows. Nothing is padded, though the brevity comes at the cost of the guidance and parameter detail noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and cost/group metadata is present. But with 5 parameters, 0 required, 40% schema coverage, and undocumented `question`/`allowReversed`/`seed`, the description leaves an agent guessing about the core invocation inputs for a divination draw.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: `fields` and `precision` are documented in the schema, but `seed`, `question`, and `allowReversed` are bare. The description supplies no parameter meaning at all, so it fails to compensate for the coverage gap on a 5-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (draw) and resource (single card) qualified by deck (Marseille), which does distinguish it from siblings like draw_three_card, draw_celtic_cross, and the Rider-Waite single draw. It stops short of explicitly framing the contrast, relying on the name and deck qualifier to do the differentiation work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no conditions or prerequisites, and no mention of the sibling spreads (three-card, Celtic Cross, love, career) or the equivalent Rider-Waite single draw. Usage is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_draw_spiritualMarseille: SpiritualCRead-onlyIdempotentInspect
4-card spiritual development spread.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds genuinely useful operational context – the 10-credit Tier 1 cost and the Tarot: Marseille grouping – but says nothing about determinism via `seed` or how `allowReversed` changes the draw.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and efficient – the spread identity comes first, with cost and grouping as compact bracketed metadata. Nothing is padded, though it is arguably under-specified rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but a 5-parameter divination tool with zero required parameters and 40% coverage leaves the agent guessing about `question`, `seed` and `allowReversed`. For a draw tool whose whole purpose is generating a reading, this is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% (seed, question and allowReversed carry no descriptions), so the description is expected to compensate and does not. It mentions '4-card' but never explains that `question` frames the reading, what `seed` does for reproducibility, or what `allowReversed` controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific artifact – a 4-card spiritual development spread – which is more precise than a bare restatement of the name. It implicitly separates this from the career/love/decision draws in the sibling set by naming the spread's intent, though it never explicitly contrasts them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative among the many sibling Marseille draws (draw_cross, draw_hero, draw_seven_card, etc.). The agent must infer from the spread name alone whether this is the right draw for a given request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_draw_three_cardMarseille: Three-CardCRead-onlyIdempotentInspect
Past / Present / Future three-card spread.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the pricing behavior ('[Cost: 10 credits (Tier 1)]'), which is genuinely useful context not present in structured fields, but says nothing about the draw semantics (card selection, reversals, seeding) beyond the layout.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, layout stated first, metadata tags after. Nothing is wasted, though the sparse content borders on under-specification rather than disciplined brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a priced draw tool with five parameters (three undocumented), the description omits how the question and seed affect the draw and how reversed cards are handled, leaving an agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% — seed, question and allowReversed have no schema descriptions. The 500-char question cap, integer seed bounds, and default-reversed behavior are undocumented in both schema and description, so the description fails to compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific spread layout ('Past / Present / Future three-card spread'), which tells an agent exactly what divination result to expect. It does not distinguish itself from sibling Marseille spreads like seven_card, celtic_cross, or cross, so an agent must infer the difference from the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this three-card spread over the many sibling spreads (single, seven_card, celtic_cross, career, love, decision). The only routing signal is the group tag '[Group: Tarot: Marseille]'. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_interpretMarseille: InterpretCRead-onlyIdempotentInspect
Resolve list of card slugs into meanings.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| cards | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cards | No | |
| question | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful non-schema context (10 credits, Tier 1 cost), but says nothing about the shape of the returned meanings or whether interpretation varies with the question parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus bracketed group/cost metadata; nothing is wasted and the core purpose lands first. It is terse to the point of under-specification, which is a completeness problem rather than a verbosity one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but with four parameters, one of which (question) is undocumented in both schema and description, and no prerequisite flow for sourcing slugs, the definition is too thin for an agent to call this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: fields and precision are documented in the schema, but cards and the 500-char question have no descriptions anywhere. The description never touches parameters, so the cryptic 'question' argument (interpretation context?) and the slug format for cards remain unexplained, leaving the coverage gap uncompensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Resolve list of card slugs into meanings.' An agent knows this converts slug identifiers into interpretive text. It does not differentiate itself from near siblings such as astroway_tarot_marseille_cards_slug or astroway_tarot_marseille_clarify, so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no mention that slugs must first be obtained from a cards/slug listing tool, and no exclusion relative to clarify, timing, or the spread-draw tools. The description is purely declarative with no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_majorsMarseille: 22 MajorsBRead-onlyIdempotentInspect
22 Major Arcana of Marseille deck.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is fully covered. The description adds one genuinely useful operational fact the annotations do not carry: the 10-credit (Tier 1) cost. It still says nothing about whether the response is a static reference list or a draw, but with annotations doing the heavy lifting a 3 is apt.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely tight and front-loaded: the resource is stated first, then group and cost metadata. Nothing is wasted, though the brevity comes at the cost of omitting any disambiguating context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, with a large family of Marseille tarot siblings, the definition is incomplete on the one thing that matters most here: how this reference lookup differs from marseille_cards, cards_slug, and the draw_* tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (fields, precision) are optional compact-mode controls with 100% schema description coverage, so the schema already explains them fully. The description adds no parameter meaning beyond that, which is the baseline-3 case when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (the 22 Major Arcana) scoped to the Marseille deck, so an agent knows this returns that fixed subset rather than the full deck. It does not, however, differentiate itself from close siblings such as astroway_tarot_marseille_cards or astroway_tarot_marseille_cards_slug, so the agent must infer the boundary from the names alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no named alternative. Given near-identical siblings (marseille_cards, marseille_cards_slug, rider_waite_majors), the description should say when to pick the Marseille majors lookup versus the full card list, but it offers nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_spreadsMarseille: All SpreadsBRead-onlyIdempotentInspect
List of all Marseille spreads (incl. Jodorowsky cross).
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, read-only, idempotent operation, so the safety profile is covered. The description adds genuinely useful non-annotation context in the cost/tier line ('10 credits (Tier 1)'), but says nothing about the shape or size of the returned spread list, which is the main behavioral unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence plus two minimal metadata lines, with the resource stated first. It is compact and front-loaded; only slight credit is withheld because the metadata lines consume space without aiding tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing tool with an output schema and full annotation coverage, the essential purpose is conveyed. What is missing is any routing signal relative to astroway_tarot_marseille_spreads_slug and the other Marseille spread/draw tools in the sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (fields, precision) are fully documented in the schema itself as generic compact-mode controls. The description adds no parameter meaning beyond that, so the baseline 3 for a well-documented schema is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Marseille spreads) and verb (list), and even calls out a notable member (Jodorowsky cross). It does not, however, distinguish this tool from the obvious sibling astroway_tarot_marseille_spreads_slug, so an agent must infer the difference from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the slug-based alternative, and no stated preconditions. The only context is the '[Group: Tarot: Marseille]' tag, which is taxonomy rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_spreads_slugMarseille: Single SpreadCRead-onlyIdempotentInspect
Definition of a single Marseille spread.
[Group: Tarot: Marseille] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Spread slug, lowercase and hyphenated. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| cardCount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description does add one genuinely useful behavioral note: the cost is opaque/not in the public credit manifest, which warns the agent not to assume pricing. It adds nothing about response shape, but an output schema exists to cover that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence followed by two bracketed metadata tags; nothing is wasted and the core purpose is front-loaded. Slightly terse rather than padded, which is the right direction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple by-slug lookup with a full output schema and annotation coverage, the description plus structured fields are nearly sufficient. The remaining gap is sibling disambiguation against `astroway_tarot_marseille_spreads` and `astroway_tarot_rider_waite_spreads_slug`, which the description does not address.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the `slug` format (lowercase, hyphenated), the compact `fields` paths, and `precision` rounding are all documented in the schema. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-ish noun phrase: it returns the definition of a single Marseille spread. Combined with the title and the `slug` parameter, an agent can infer it is a by-slug lookup. However, it never distinguishes itself from the sibling `astroway_tarot_marseille_spreads` (the list variant), so the intended scope is only implied by the `_slug` suffix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. The description does not say to call this once a spread slug is known, nor does it point to `astroway_tarot_marseille_spreads` as the way to discover valid slugs. The agent must infer the workflow from naming conventions alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_timingMarseille: TimingCRead-onlyIdempotentInspect
Single timing card.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| type | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds the 10-credit cost and group tier, which is genuinely useful for an agent budgeting calls, but says nothing about what the draw produces or whether the question parameter affects randomness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the purpose, but the second block is pure metadata and the first sentence is too thin to be considered efficient rather than under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, but for a tool embedded in a huge tarot family the description leaves purpose, selection criteria, and parameter meaning unresolved. It is not complete enough to call correctly without further exploration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%, and the description explains none of the 5 parameters (seed, question, fields, precision, allowReversed). With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Single timing card" identifies a resource (one tarot card) and an implied purpose (timing questions), but offers no verb and no differentiation from siblings such as astroway_tarot_marseille_draw_single or astroway_tarot_rider_waite_timing. An agent must infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this over the many sibling draws (draw_single, draw_decision, draw_career) or over rider_waite_timing. The only extra context is group and credit-cost metadata, which does not help selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_marseille_year_cardMarseille: Year CardCRead-onlyIdempotentInspect
Year card per Greer method.
[Group: Tarot: Marseille] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| card | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds only the 'Greer method' label and says nothing about determinism, required inputs' semantics, or what the computed card represents. With the annotation bar lowered, this still contributes almost no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded with no filler sentences, but it is under-specified rather than genuinely concise. Two of the three lines are bracketed metadata tags that consume space without informing invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But for a tool with two required, undocumented parameters sitting among many near-duplicate siblings, the description omits what a year card is, when to prefer it over the Rider-Waite variant or the birth card, and what date/year should represent. It is not complete enough for reliable selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: 'date' and 'year' have no descriptions at all, and the description supplies no compensating meaning (e.g., whose birth date, or why both a date and a year are required). It does not explain how the two required parameters combine to produce a year card. The 'fields'/'precision' parameters are documented in-schema only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and methodology ('Year card per Greer method'), which adds a differentiating detail beyond the title. However, it is a bare noun phrase with no verb, and it does nothing to distinguish this from near-identical siblings such as astroway_tarot_rider_waite_year_card or astroway_tarot_marseille_birth_card. An agent must infer that this is the Marseille-deck computation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The bracketed group and cost tags are billing metadata, not usage guidance. Given the enormous sibling set with several overlapping 'year card' and 'birth card' variants, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_adviceRWS: Advice CardCRead-onlyIdempotentInspect
Single advice card.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| type | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so safety is covered. The description adds genuinely useful non-schema context in the cost line (10 credits, Tier 1) and the group tag, but says nothing about whether seed makes the draw deterministic, or how question/allowReversed affect the reading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief and front-loaded, but the brevity comes from omission rather than efficiency: two words of purpose plus a metadata block that is not the definition's core job. Nothing is padded, yet the single sentence does not earn its place as a full definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but with 5 parameters, 40% schema coverage, and no usage or sibling differentiation, the definition is not complete enough for an agent to invoke it correctly versus the many adjacent RWS tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: fields and precision are documented, but seed, question, and allowReversed carry no schema descriptions, and the description adds nothing about any of them. For a 5-parameter tool with an undocumented randomness/context surface, this leaves the agent guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Single advice card" gives a rough verb+resource, but it never says it draws/draws-a-card from the RWS deck nor distinguishes itself from near-identical siblings like astroway_tarot_rider_waite_draw_single, _outcome, or _clarify. An agent could pick the wrong RWS one-card tool without opening the schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance at all. With dozens of sibling RWS draw/interpret tools, the description gives no condition that selects this one over the others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_birth_cardRWS: Birth CardBRead-onlyIdempotentInspect
Birth card from date per Mary Greer's method (m+d+y reduced).
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| primary | No | |
| secondary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuine extra context: the reduction method used and the 10-credit Tier 1 cost, which is useful billing behavior. It does not describe the result shape, but an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence front-loads the substance, with group and cost as bracketed metadata rather than prose. Nothing is wasted, though the metadata tags consume roughly half the visible text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-required-parameter deterministic computation with an output schema, the description covers purpose, method and cost adequately. The notable gap is sibling disambiguation across a very large tarot family, which is exactly what a birth-card tool must resolve.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%: fields and precision are documented in the schema, while date has only a pattern and no prose. The description adds the conceptual meaning of date (a birth date whose components are reduced) but no format or edge-case guidance beyond what the pattern already supplies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific output (a birth card) and the exact derivation method (Mary Greer's m+d+y reduction), which distinguishes it from astroway_tarot_marseille_birth_card (different deck) and astroway_tarot_rider_waite_year_card (different formula). The verb is implicit rather than stated, so it falls short of a perfect verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, despite the sibling set containing several adjacent card-derivation tools (year_card, soul_personality_card, shadow_card, marseille_birth_card). The agent must infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_cardsRWS: All CardsBRead-onlyIdempotentInspect
Full 78-card RWS deck listing with upright/reversed meanings, keywords, astrology, and yes/no affinity.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the deck scope and the cost/group metadata (10 credits, Tier 1), but says nothing about response size for 78 cards or any rate/credit implications beyond the single cost line.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight content sentence followed by short bracketed metadata; the substance is front-loaded with no filler. Efficient, though the group/cost lines are boilerplate rather than tool-specific guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and annotations cover the read-only safety profile. The description adequately covers content scope; the only real gap is sibling routing, which is a usage-guidelines concern rather than missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (fields, precision) are documented in the schema itself, so baseline 3 applies. The description adds no parameter-level detail, and notably the schema's examples (planets/houses paths) read as chart-oriented rather than tarot-oriented, a mismatch the description does not clear up.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Full 78-card RWS deck listing') and enumerates the content it carries (upright/reversed meanings, keywords, astrology, yes/no affinity), so an agent knows exactly what it retrieves. It does not, however, distinguish itself from close siblings such as astroway_tarot_rider_waite_cards_slug, _majors, _minors or _courts, which also surface card data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives. With a dense sibling cluster (cards_slug, majors, minors, courts, keywords_keyword, elements_element), the agent must guess whether this full-deck listing or a filtered sibling is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_cards_slugRWS: Single CardARead-onlyIdempotentInspect
Single RWS card lookup by slug (e.g. "the-fool", "ace-of-cups"). Returns full meaning structure.
[Group: Tarot: Rider-Waite-Smith] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Card slug, lowercase and hyphenated. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| slug | No | |
| upright | No | |
| category | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds only "Returns full meaning structure" plus a cost note that defers to the caller's plan; it does not describe coverage (full 78-card deck?) or response shape beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the lookup operation and its example, with no filler. The appended [Group]/[Cost] tags are boilerplate rather than description prose, which slightly dilutes it but costs little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and all three parameters are documented in the schema. For a simple read-only lookup the description is nearly sufficient; only card-set coverage and slug-miss behavior are unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real value by giving concrete slug examples ("the-fool", "ace-of-cups") that clarify the lowercase-hyphenated convention better than the schema text alone. The `fields` and `precision` compact-mode parameters are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Single RWS card lookup by slug") and gives concrete slug examples, so the agent knows exactly what it retrieves. It clearly differs from draw_* or interpret siblings by being a pure lookup, but it never explicitly contrasts itself with the sibling list tool `astroway_tarot_rider_waite_cards`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use case is implied by a single-card lookup keyed on slug, and the examples hint that the caller must already know the card. There is no explicit when-to-use/when-not guidance and no routing to alternatives such as the full `cards` listing when the slug is unknown.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_clarifyRWS: Clarifier CardBRead-onlyIdempotentInspect
Single clarifying card after a primary draw.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| type | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context in the cost line (10 credits, Tier 1), which is not in the annotations. It stops short of explaining how the clarifier relates to the prior draw or any rate/draw constraints, so this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One functional sentence front-loads the purpose, followed by compact group and cost metadata. No filler, and the most important information leads. Slightly terse given the parameter burden, but structure is sound.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But for a 5-parameter tool at 40% coverage, the description omits how the clarify relates to the preceding draw, whether the prior card must be supplied, and what the seed/question/reversal options do. It is under-specified for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% (seed, question, and allowReversed are undocumented), yet the description supplies no parameter guidance at all. It does not compensate for the coverage gap or explain how the clarifying card is linked to the primary draw via inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (a single clarifying card) and its timing (after a primary draw), which is clear enough for an agent to know the operation. However, it does not differentiate this from the many tarot siblings (e.g. astroway_tarot_marseille_clarify, the various draw_* tools), so an agent cannot distinguish it without checking the deck group context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"after a primary draw" implies the sequencing context in which this tool applies, but it names no alternative and gives no explicit when/when-not conditions or prerequisites. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_courtsRWS: 16 Court CardsARead-onlyIdempotentInspect
The 16 Court cards (Page, Knight, Queen, King × 4 suits).
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed-world read. The description adds the credit cost (10 credits, Tier 1) and group tag, which are useful selection details not present in annotations. Return format is not described, but the output schema likely covers that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short phrase plus two bracketed metadata tags with no filler, and it is front-loaded with the resource scope. Every element earns its place, though the fragment style is slightly terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple catalog-listing tool with rich annotations and an output schema, the description supplies the essential scope (which 16 cards). Usage routing to alternatives is absent, but the structured fields cover safety and return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters (fields, precision) are fully documented in the input schema. The description adds no extra syntax, defaults, or examples for those parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, the 16 Court cards, and enumerates the ranks and suits, which distinguishes it from the Majors and Minors siblings. It lacks an explicit verb like 'list' or 'retrieve,' but the scope is unambiguous enough for an agent to know what subset is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or alternative is given; it does not say to use this instead of astroway_tarot_rider_waite_minors or astroway_tarot_rider_waite_cards. The only context is the group and credit cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_cross_sumRWS: Court Card Cross-SumCRead-onlyIdempotentInspect
Birth-card meditation pair for court-card practice.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| meditationPair | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description's one added behavioral fact is the cost ('10 credits, Tier 1'), which is genuinely useful and not present in annotations, but nothing is said about the nature of the result or any auth/limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the leading sentence is vague and half the content is bracketed metadata tags rather than operative information. It is concise without being informative, which is under-specification rather than true economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the description still leaves the core concept ('cross-sum') and the meaning of the required date input undefined. For a parameterized tool with a required input, this is too thin for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%: 'fields' and 'precision' are documented in-schema, but the required 'date' parameter carries only a regex pattern with no explanation of whether it is a birth date or a query date. The description mentions no parameters at all and so fails to compensate for the undocumented required field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads 'Birth-card meditation pair for court-card practice,' which gestures at the theme but never states the operation (computing a cross-sum between a birth card and a court card) or what the tool returns. It does not distinguish this tool from close siblings like astroway_tarot_rider_waite_birth_card or astroway_tarot_rider_waite_courts, so an agent cannot confidently separate them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternatives among the many Rider-Waite-Smith tarot siblings. The only contextual line is a cost/group tag, which does not help an agent decide whether this tool or a sibling is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_dailyRWS: Daily CardBRead-onlyIdempotentInspect
Daily card based on date seed (deterministic per day).
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| seed | No | |
| drawn | No | |
| spread | No | |
| localized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description does add genuinely useful context beyond them — that the card is date-seeded and therefore stable within a day — plus the 10-credit cost, which annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines with the substantive claim (date-seeded, deterministic) front-loaded and metadata relegated to tags. No filler, though the brevity comes partly from under-specification rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and cost plus determinism are disclosed. What is missing is the behavior of the optional date parameter (default to today?) and any tie-in to sibling daily/draw tools, which matters given the very large tool surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: fields and precision are documented in the schema, while date carries only a regex pattern and no prose. The description's phrase 'based on date seed' hints that date drives the result but adds no format or default behavior beyond the schema's pattern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource (Rider-Waite-Smith daily card) and the operative mechanism (date seed, deterministic per day), and the RWS group tag separates it from astroway_tarot_marseille_daily and astroway_tarot_lenormand_daily. It stops short of naming a sibling explicitly, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'daily' plus 'deterministic per day' implies the intended cadence, but nothing states when to pick this over astroway_tarot_rider_waite_draw_single or the other draw_* tools, nor what happens if no date is supplied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_careerRWS: CareerCRead-onlyIdempotentInspect
5-card career trajectory spread.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed world, so the safety profile is fully covered. The description adds genuinely new operational context not present in structured fields: the credit cost (10 credits, Tier 1) and the deck grouping, which matters for budget-aware agents. It still says nothing about how the draw behaves with a fixed seed or whether the question influences card selection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short bracketed lines with no filler; the purpose is front-loaded before the metadata tags. It is efficient, though bordering on under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation. However, for a 5-parameter tool with 40% schema coverage, no usage guidance, and no explanation of seed/allowReversed/question semantics, the definition leaves significant gaps an agent would have to guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% across five parameters. The description explains none of them: seed, fields (compact-mode projection), question, precision, and allowReversed are left entirely to the schema, and two of them have no descriptions at all. With low coverage the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific format and domain: '5-card career trajectory spread' under the Rider-Waite-Smith group. This distinguishes it from the Marseille career draw and from other RWS spreads like three-card or Celtic Cross. It does not name the act ('draw') explicitly, but the combination of name, title, and this line is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this spread over siblings such as astroway_tarot_marseille_draw_career, astroway_tarot_rider_waite_draw_three_card, or astroway_tarot_rider_waite_interpret. The 'career' qualifier implies context, but no exclusions, prerequisites, or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_celtic_crossRWS: Celtic CrossBRead-onlyIdempotentInspect
Classical 10-card Celtic Cross spread.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No | |
| localized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new operational context in the form of cost ('10 credits, Tier 1') and group membership, but says nothing about how the seed makes draws reproducible or how allowReversed changes output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the spread identity, with metadata tags kept to a separate block. Nothing is wasted, though the tags add little for an agent already reading the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. However, for a 5-parameter tool with 40% schema coverage and no usage guidance, the description leaves the agent guessing about seed determinism, the question field's role, and reversal behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: 'fields' and 'precision' are documented in the schema, while 'seed', 'question' and 'allowReversed' are bare. The description contributes no parameter meaning at all, so it fails to compensate for the undocumented half.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and resource ('Classical 10-card Celtic Cross spread') and the deck is fixed by the tool name/title (Rider-Waite-Smith), so an agent can distinguish it from the Marseille or Lenormand Celtic Cross siblings. It stops short of explicitly contrasting itself with the other RWS spreads (three-card, horseshoe, etc.), so it is clear but not sibling-differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative spreads or draw tools. The agent must infer from the name alone whether a 10-card Celtic Cross or a lighter three-card draw is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_chakraRWS: ChakraCRead-onlyIdempotentInspect
7-card chakra spread (Root → Crown).
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine non-schema context: the group and the cost (10 credits, Tier 1), which matters for an agent managing a credit budget. It does not disclose whether the draw is random or reproducible via the seed parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two lines, zero filler, and the identifying detail (card count and spread) is front-loaded ahead of the metadata tags. Appropriately sized for the amount of information it actually conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but with 5 parameters at 40% coverage and no usage guidance, the definition is thin. An agent gets no help on how the chakra positions map to cards or on the reproducibility/reversal semantics of seed and allowReversed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% (seed, question, and allowReversed carry no schema descriptions), and the description compensates for none of it. It says nothing about what seed does (reproducibility), what allowReversed controls, or what the question parameter is used for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific artifact — a 7-card chakra spread ordered Root to Crown — which cleanly separates it from the many other RWS draw_* siblings (celtic cross, horseshoe, love triangle, year ahead, etc.). It lacks an explicit verb (the 'draw' action is only implied by the tool name), but the resource and its scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when a chakra spread is appropriate versus a different spread, and no reference to any sibling alternative. The agent must infer selection purely from the spread name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_decisionRWS: Yes/NoBRead-onlyIdempotentInspect
Single-card draw with yes/no/maybe verdict from card affinity.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| reason | No | |
| spread | No | |
| verdict | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds that the verdict comes from 'card affinity', which is some context, but doesn't detail how the affinity is computed, what the output includes (e.g., card, verdict, explanation), or any constraints like credit cost (though cost is listed separately in the description as '[Cost: 10 credits (Tier 1)]'). The cost info is useful but not a behavioral trait beyond annotations. With annotations covering safety, the description provides minimal additional behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: one sentence plus two bracketed lines for group and cost. It's front-loaded with the core purpose. However, the bracketed lines, while useful, could be considered somewhat extraneous for a tool description, but they add essential context (group and cost). Overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is an output schema (has output schema: true), the description needn't explain return values. However, with 5 parameters and only 40% schema description coverage, the description should provide more guidance on parameter usage. It also lacks any mention of when to use this tool versus the numerous other tarot draw tools. The description is minimal and doesn't fully equip an agent to invoke the tool correctly without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 40%, meaning many parameters lack descriptions in the schema. The description doesn't mention any parameters (seed, fields, question, precision, allowReversed) or their roles. However, the parameters are somewhat self-explanatory by name (e.g., 'question' for the query, 'seed' for randomness). Since the schema has some descriptions (for fields and precision), baseline 3 is appropriate, but the description fails to compensate for the low coverage by explaining the purpose of parameters like 'allowReversed' or 'question'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Single-card draw with yes/no/maybe verdict from card affinity.' This clearly distinguishes it from sibling tools like astroway_tarot_rider_waite_draw_single (single card) and draw_three_card, by specifying the output is a yes/no/maybe verdict. However, it doesn't explicitly name an alternative or state that it's for decision-making questions, which the tool name implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by saying it's for a yes/no/maybe verdict from card affinity, but it doesn't explicitly state when to use this tool versus alternatives. There are many sibling tools for different tarot spreads; the description could specify that this is for decision-making or binary questions. The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_horseshoeRWS: HorseshoeBRead-onlyIdempotentInspect
7-card horseshoe progression.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so safety is covered. The description adds a genuinely useful non-schema fact — cost of 10 credits at Tier 1 — but says nothing about how `seed` drives reproducibility or how `allowReversed` changes the draw.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines, front-loaded with the essential spread definition followed by grouping and cost metadata. No filler, though the bracketed tags are boilerplate rather than explanatory prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. However, with 5 parameters at 40% coverage and no usage guidance, the definition leaves an agent without enough to invoke it confidently for reproducibility or reversal behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: `fields` and `precision` are documented in-schema, while `seed`, `question`, and `allowReversed` are bare. The description contributes nothing about any parameter, so it fails to compensate for the coverage gap on a 5-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific artifact ('7-card horseshoe progression'), which is a distinct spread not shared by any sibling tool, so an agent can tell it apart from the celtic-cross, three-card, and year-ahead draws. The verb 'draw' is only implied via the tool name rather than stated, keeping it out of the top tier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose a horseshoe spread over the many other Rider-Waite spreads (three_card, celtic_cross, decision, relationship), nor any prerequisites such as whether a question is required. Usage must be inferred entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_love_triangleRWS: Love TriangleBRead-onlyIdempotentInspect
6-card three-person love dynamics.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely useful non-annotation context (cost of 10 credits / Tier 1 and the tool group), but says nothing about layout, ordering, or what the six positions represent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: the core spread description comes first, with group and cost as trailing structured tags. Nothing is wasted, though the description is arguably too thin rather than optimally sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover safety, leaving the description only needing to convey purpose and usage. It conveys purpose adequately but leaves usage, spread layout, and the undocumented parameters unaddressed, which is a clear gap given the enormous sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%; seed, question, and allowReversed are undocumented in the schema, and the description compensates for none of them. It adds zero parameter meaning, so the two described params (fields, precision) carry the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope ('6-card three-person love dynamics') that adds concrete detail (6 cards, three people) beyond the title 'RWS: Love Triangle'. It lets an agent distinguish this spread from other RWS draws like draw_relationship or draw_three_card, though it never uses an action verb to make explicit that cards are drawn.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives or exclusions. The spread name implies a love-triangle scenario, but with a sibling like draw_relationship the agent is given nothing to decide between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_relationshipRWS: RelationshipCRead-onlyIdempotentInspect
7-card relationship dynamics.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful non-schema fact — a 10-credit cost and the Rider-Waite-Smith group — but says nothing about determinism of the seed, what happens with allowReversed, or the draw's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the spread identity before the metadata tags, but the brevity comes from omission rather than efficiency — the single content sentence is under-specified for a 5-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. However, for a tool with five parameters, 40% schema coverage, and many near-identical siblings, the definition provides no usage routing, no spread-structure detail, and no parameter guidance — the cost line is the only added context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: seed, question, and allowReversed carry no schema descriptions, and the description supplies no parameter meaning at all. The two documented params (fields, precision) are already fully explained in the schema, so the description fails to compensate for the undocumented majority.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the spread size and topic ("7-card relationship dynamics"), which is more than a tautology, but it omits the draw verb and does nothing to separate itself from closely related siblings such as draw_love_triangle, draw_celtic_cross, or tarot_lenormand_draw_relationship. An agent knows the domain but not the distinguishing layout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. With ten-plus sibling draw spreads covering career, love, decision, year-ahead, etc., the agent gets no signal about when this 7-card relationship spread is the right choice over a 3-card or 10-card spread.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_shadow_workRWS: Shadow WorkCRead-onlyIdempotentInspect
6-card shadow integration spread.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context the annotations lack: the credit cost (10 credits, Tier 1) and the spread size. It says nothing about how seed/question affect the draw or what the returned cards look like, so it stops short of full behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short bracketed fragments plus one sentence — nothing bloated and the spread type is front-loaded. It is terse rather than padded, though the bracket metadata is presentation scaffolding rather than agent-facing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a 5-parameter tool at 40% schema coverage with no usage guidance and no parameter semantics, the definition is too thin. It informs the agent of cost and spread size but not when or how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 40% and the description mentions none of the five parameters. Critical semantics such as what 'seed' controls, how 'question' influences the reading, or what 'allowReversed' defaults to are left entirely to the schema, which itself documents only 'fields' and 'precision'. With more than half the parameters undocumented, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the artifact produced ('6-card shadow integration spread'), which is more than a restatement of the tool name and distinguishes it from sibling tarot spreads like love triangle or career. However, it never states the act (draw/randomize) nor the mechanism, leaving the agent to infer that this is a draw operation from the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no reference to alternatives such as astroway_tarot_rider_waite_draw_spiritual_path or astroway_tarot_rider_waite_shadow_card. The spread name implies a thematic context but nothing is stated explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_singleRWS: Single Card DrawBRead-onlyIdempotentInspect
Draw 1 card from the RWS deck. Optional seed for deterministic shuffle.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No | |
| localized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds two useful behavioral facts beyond that: reproducibility via seed and a 10-credit (Tier 1) cost. It says nothing about reversal behavior (allowReversed default true) or response shape, so the added value is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action in one sentence, followed by a compact seed note and group/cost tags. No filler; appropriately sized for a simple single-draw tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover the safety profile. However, with 5 parameters and only 40% schema coverage, the unexplained 'question' and 'allowReversed' parameters leave the definition short of complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 40%, so several parameters (question, allowReversed, seed) are undocumented in the schema. The description compensates for seed only ('deterministic shuffle') and leaves question and allowReversed unexplained, giving partial coverage of a below-50% base.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Draw 1 card from the RWS deck') and the title reinforces the single-card scope, which distinguishes it from multi-card siblings like draw_three_card or draw_celtic_cross. It stops short of naming an alternative redirect, so no explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage-like guidance is 'Optional seed for deterministic shuffle,' which explains one parameter rather than when to choose this tool over the many other RWS/Marseille/Lenormand draw tools. No when-to-use, when-not, or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_spiritual_pathRWS: Spiritual PathCRead-onlyIdempotentInspect
5-card spiritual development spread.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered structurally. The description adds the cost disclosure (10 credits, Tier 1), which is genuinely useful call-time context. It does not say anything about the random draw / seed behavior or whether repeated calls with the same seed yield the same cards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short front-loaded sentence followed by two bracketed metadata tags — no filler. It is efficiently sized, though the extreme brevity is arguably under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. But for a 5-parameter tool the description says nothing about how to shape a reading prompt or what allowReversed/seed do, leaving key invocation decisions to guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% (only 'fields' and 'precision' are documented), and the description adds nothing about the five parameters — notably 'question' (a 500-char prompt that is clearly the semantic core of a spiritual reading) and 'allowReversed'. The description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete artifact — a 5-card spiritual development spread — so an agent knows exactly what comes back. However, it never uses an action verb and doesn't differentiate this draw from the many sibling spreads (celtic cross, three-card, chakra, shadow work) beyond the 'spiritual development' theme.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no indication of which sibling spread to pick instead, and no mention of when a user should supply a question. The agent must infer the use case purely from the spread's name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_three_cardRWS: Three-Card DrawCRead-onlyIdempotentInspect
Past / Present / Future three-card spread.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No | |
| localized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description usefully adds billing context (10 credits, Tier 1), which is genuinely beyond the structured fields, but says nothing about how seed affects reproducibility or whether question influences the draw.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The layout sentence is front-loaded and the metadata tags are compact. Nothing is padded, though the single content sentence is arguably too thin given the parameter surface.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover safety, but with 5 optional parameters at 40% coverage and no usage guidance, an agent still cannot tell what question/seed do or when this spread beats its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: fields and precision are documented in the schema, but seed, question, and allowReversed are undocumented there. The description adds no parameter meaning at all, so it fails to compensate for the coverage gap on a 5-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and its internal structure (Past/Present/Future three-card spread), so an agent knows exactly what gets produced. It does not, however, distinguish this spread from the many sibling draws (single, celtic cross, relationship, horseshoe) beyond the implicit card count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites, and no mention of alternative spreads for other question types. The agent must infer from the name alone which draw to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_draw_year_aheadRWS: Year AheadBRead-onlyIdempotentInspect
13-card spread (12 months + theme).
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation safe (readOnlyHint, idempotentHint, destructiveHint=false, closed-world), so safety needs no elaboration. The description does add genuinely useful behavioral context not present in the structured fields: the credit cost and tier. It says nothing about reversal handling or randomness despite the seed/allowReversed parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The spread structure is front-loaded in a single tight sentence, with the group and cost tags clearly demarcated. It is efficient and wastes no words, though the sparseness reflects under-specification as much as discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the cost tag covers a key operational fact. However, with five parameters at 40% schema coverage and no usage guidance, an agent still lacks enough to invoke this confidently versus its many tarot siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 40% — only `fields` and `precision` carry descriptions — and the description adds no parameter meaning at all. `seed`, `question`, and `allowReversed` remain unexplained in both places, and the description does not compensate for that gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete deliverable — a 13-card spread broken into 12 months plus a theme card — which is more specific than a bare restatement of the title. It does not, however, distinguish this spread from the many sibling draws (celtic cross, horseshoe, three-card, etc.), so an agent must rely on the tool name to route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use a year-ahead spread versus any of the other RWS draw tools, and no exclusions or prerequisites. The agent is given the shape of the output but nothing about the situation that should trigger this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_elements_elementRWS: Cards by ElementCRead-onlyIdempotentInspect
All Minor cards mapped to fire / water / air / earth element.
[Group: Tarot: Rider-Waite-Smith] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| element | Yes | Elemental attribution. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No | |
| element | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the tool's safety profile is fully covered. The description adds nothing behavioral beyond boilerplate group/cost lines, leaving it with no incremental value on this dimension.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence front-loads the core behavior, followed only by bracketed metadata. The group/cost boilerplate is filler, but the useful text is tight and well positioned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the annotations cover safety. The remaining gap is the unresolved ambiguity of whether the result is the full element mapping or the subset matching the required element argument, which matters for correct interpretation of the single required parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – element, fields and precision are each documented in the schema, including the enum values and the compact-mode path syntax. The description adds no additional parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (all Minor Arcana cards) and the organizing dimension (element), which partially distinguishes it from siblings like minors, suits_suit and numbers_n. However, it is ambiguous about behavior: it claims 'ALL Minor cards mapped to fire/water/air/earth' while the schema requires a single element, so an agent cannot tell whether it returns the whole element map or only the cards of one chosen element.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and no alternatives are named. With sibling lookups by suit, number, court and keyword, the definition should say when an element-based lookup is preferable, but it does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_interpretRWS: Interpret a HandBRead-onlyIdempotentInspect
Resolve a list of card slugs into structured meanings (use AI /interpret/* for full narrative).
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| cards | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cards | No | |
| question | No | |
| narrativeStub | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent, non-destructive profile, so the bar is lower. The description adds one genuinely useful behavioral fact — the cost (10 credits, Tier 1) — but says nothing about slug format requirements, rate limits, or the input cap, which would matter for a paid call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and tight: the core action leads, the alternative follows, and the group/cost metadata is compact. No filler sentences, though the bracketed metadata tags cost a little space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained. The description covers purpose and cost, but leaves slug format, the 15-card cap, and 'question' semantics unstated, which is a modest gap for a paid tool whose sole job is resolving inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are documented in the schema, while 'cards' and 'question' have no schema description. The description adds some value by specifying the input is card 'slugs,' clarifying the array-of-strings parameter, but adds nothing for 'question' and not enough to compensate fully. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('resolve a list of card slugs into structured meanings') and distinguishes the tool from the narrative AI interpreters by pointing to '/interpret/*' for full narrative. It does not explicitly name its nearest sibling (astroway_tarot_marseille_interpret or the RWS keyword/card lookup tools), so differentiation is partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(use AI /interpret/* for full narrative)' gives an alternative-use hint, implying this tool is for raw structured meanings rather than prose. However, it gives no guidance on when to choose it over the many other RWS tools (cards_slug, keywords, spreads) and provides no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_keywords_keywordRWS: Cards by KeywordBRead-onlyIdempotentInspect
Substring search across upright and reversed keywords across all 78 cards.
[Group: Tarot: Rider-Waite-Smith] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| keyword | Yes | Keyword to match. Substring match across both upright and reversed keywords. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No | |
| keyword | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds only a vague, non-actionable credit caveat and says nothing about match limits, empty results, or how many of the 78 cards may be returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that earns its place, followed by two clearly delimited metadata tags. No wasted prose; the cost line is uninformative but brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required. Still, for a search tool the description leaves open behavior that matters to invocation (match volume, ordering, empty-result handling) and gives no when-to-use context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the keyword parameter's schema text already reads 'Substring match across both upright and reversed keywords', which the description merely echoes. No extra meaning (case sensitivity, ranking, partial-word behavior) is added, so baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation (substring search), the resource (upright and reversed keywords) and the scope (all 78 cards). An agent can distinguish it from astroway_tarot_rider_waite_cards or _cards_slug, which retrieve cards by identity rather than by keyword — though the description never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is a cost note ('see your plan — endpoint not in the public credit manifest'), which is not actionable. There is no statement of when to prefer this keyword-search tool over the sibling card-listing, suit, number, or element lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_majorsRWS: 22 MajorsBRead-onlyIdempotentInspect
The 22 Major Arcana cards only.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, non-destructive read, so the safety profile is covered. The description adds only the group tag and a billing cost (10 credits, Tier 1), which is genuinely useful call-planning context, but it says nothing about the shape or size of the returned catalog; with an output schema present that gap is tolerable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence states the scope, followed by compact metadata lines for group and cost. Nothing is padded, though the description is arguably under-specified rather than optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple catalog lookup with an output schema and full parameter documentation, the minimum is met: the agent knows what it returns and what it costs. It stops short of clarifying depth of card data (keywords, imagery, meanings) or how it differs concretely from the full-deck sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (fields, precision) have full schema descriptions at 100% coverage, so the schema carries the semantics. The description contributes nothing about parameters beyond the compact-mode mechanics already documented, which is the expected baseline when coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (the 22 Major Arcana cards) and the subset boundary with 'only,' which implicitly separates it from astroway_tarot_rider_waite_minors and astroway_tarot_rider_waite_courts. It does not name those siblings by name or state that it is a catalog/listing operation, but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'only' hints that this is the narrow, Majors-restricted variant, implying when to pick it over the full-deck tool, but no alternative is named and no explicit when/when-not guidance is given. Usage is inferable from the sibling names rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_minorsRWS: 40 MinorsBRead-onlyIdempotentInspect
The 40 numbered Minor Arcana cards (Ace through 10 of each suit).
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds the cost signal (10 credits, Tier 1), which is genuine behavioral context, but it says nothing about the return shape beyond what the output schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence defines the set, followed by two short bracketed metadata lines. Nothing is padded, though the group/cost brackets are boilerplate rather than substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full annotation coverage, the description need only identify the dataset it returns, which it does precisely. Only the lack of routing guidance keeps it short of fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'fields' and 'precision' are fully documented in the schema itself. The description adds no parameter meaning beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — the 40 numbered Minor Arcana cards, Ace through 10 of each suit — which is concrete and unambiguous. It implicitly distinguishes itself from the majors (22 cards) and courts siblings by scoping to 'numbered... Ace through 10', though it doesn't name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to invoke this versus the many adjacent tarot siblings (majors, courts, cards, cards_slug, keywords, suits). The agent must infer usage purely from the resource name and set definition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_missing_infoRWS: Missing Info CardCRead-onlyIdempotentInspect
Single card to surface hidden information.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| type | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful non-schema context — the group membership and the 10-credit Tier 1 cost — but says nothing about how randomization/seed behaves or how allowReversed affects the draw.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, with the core purpose in the first line and metadata bracketed below. Nothing is padded, though the bracket block is administrative rather than descriptive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a 5-parameter tool with low schema coverage and no usage guidance, the definition leaves the agent guessing about the question/seed/reversed-dimension semantics and about when this tool beats its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 5 parameters and only 40% schema description coverage, the description carries real explanatory burden and supplies none. It is silent on 'question' (the natural place to state that the querent's question shapes the reading), 'seed', and 'allowReversed', all of which are undocumented or thinly documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a single-card draw whose intent is to 'surface hidden information', which gives the agent a rough sense of the tool, but the phrasing is thematic rather than specific about what the tool returns. It is not differentiated from close siblings such as astroway_tarot_rider_waite_draw_single, _clarify, or _shadow_card, which occupy the same conceptual space.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites, and no reference to any alternative tool. The agent is left to infer that this applies to situations involving concealed or unknown factors, and nothing tells it how this differs from the other single-card RWS draws.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_numbers_nRWS: Cards of NumberBRead-onlyIdempotentInspect
All Minor Arcana cards of a given number 1-14 (Ace=1..King=14).
[Group: Tarot: Rider-Waite-Smith] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| n | Yes | Card number within a suit. 1 is the Ace, 11-14 are the courts. Majors are excluded. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No | |
| number | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds a cost caveat ('see your plan — endpoint not in the public credit manifest'), which is genuine behavioral context, though it is vague and non-actionable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly worded sentence leads with the core payload, followed by short group/cost tags. Nothing is padded, though the bracketed metadata is boilerplate rather than substantive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple reference-list lookup with an existing output schema and safety annotations, the description is sufficient to call it correctly. The main omission is routing versus the courts/numbers-adjacent siblings, which is a minor gap given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the meaning of n, fields, and precision is fully documented in the schema already. The description restates the 1-14 range but adds no new parameter detail; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete retrieval: all Minor Arcana cards for a given number 1-14, with the Ace/King mapping spelled out. It implies exclusion of Majors, which helps separate it from astroway_tarot_rider_waite_majors. However, it does not explicitly differentiate itself from the sibling astroway_tarot_rider_waite_courts, which covers the same 11-14 range.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance or naming of alternatives such as astroway_tarot_rider_waite_majors, astroway_tarot_rider_waite_courts, or astroway_tarot_rider_waite_suits_suit. The agent must infer routing from names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_outcomeRWS: Outcome CardCRead-onlyIdempotentInspect
Single outcome card.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| type | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description's only added behavioral signal is the cost line ('10 credits (Tier 1)'), which is genuinely useful consumption info not present in annotations, but it says nothing about seeding, randomness, or what an outcome reading contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded but that brevity comes from under-specification rather than tight editing; the sentence 'Single outcome card.' plus group/cost tags leave most of the description's job undone.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a 5-parameter tool with 40% schema coverage and no usage guidance, the definition is far too thin: an agent cannot tell what question/seed/allowReversed do or how this differs from neighboring RWS draws.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%, with seed, question, and allowReversed carrying no schema description, and the description supplies zero parameter meaning. With no required parameters and an unexplained question/seed pair, the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Single outcome card' essentially restates the tool name and title ('RWS: Outcome Card') without adding a verb or clarifying what an 'outcome card' is versus a plain single draw. It does convey the scope (one card) but gives no differentiation from close siblings such as astroway_tarot_rider_waite_draw_single, astroway_tarot_rider_waite_shadow_card, or astroway_tarot_rider_waite_clarify.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no conditions or exclusions, and no mention of any alternative tool. The reader cannot tell from the description why to pick the outcome card over draw_single or any other single-card RWS tool; only the group tag hints at context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_shadow_cardRWS: Shadow CardCRead-onlyIdempotentInspect
Shadow card pair (mirror in major arcana of personality card).
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| shadowCard | No | |
| personalityCard | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so safety is covered. The description adds the cost tier (10 credits, Tier 1), which is genuinely useful pre-call context, but says nothing about how the pair is computed or what inputs influence it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the brevity is achieved by omitting necessary information rather than by precision. The bracketed metadata tags are appropriately compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but with a required undocumented `date` parameter, no usage guidance, and no differentiation from sibling personality/shadow tools, the definition leaves an agent unable to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is ~67%: fields and precision are documented in the schema, but the required `date` parameter has no description anywhere, and this description does not clarify whether it means a birth date or a query date. The description adds zero parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific concept ('Shadow card pair, mirror in major arcana of personality card'), but it is jargon-heavy and assumes the caller already knows what a shadow card is. It does not distinguish this from close siblings like astroway_tarot_rider_waite_soul_personality_card or astroway_tarot_rider_waite_birth_card, which likely derive from the same personality-card logic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many Rider-Waite siblings. The only context given is a group tag and credit cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_soul_personality_cardRWS: Soul + PersonalityBRead-onlyIdempotentInspect
Returns soul card and personality card pair from birth date.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| soulCard | No | |
| personalityCard | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is fully covered. The description adds useful non-schema context — the 10-credit Tier 1 cost and the system group — which is real value beyond the annotations. It says nothing about the meaning or structure of the soul/personality pair, so it stays at an adequate 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the core action ('Returns soul card and personality card pair from birth date') before the metadata tags. There is no filler, though the metadata lines are housekeeping rather than substantive description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the tool is a simple single-date lookup. The gaps are that the description never clarifies the distinction between the soul card and personality card concepts or routes the agent away from the near-identical birth_card sibling. Adequate but not complete for a tool sitting among many similar tarot siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, with `fields` and `precision` documented in the schema and only `date` left to its regex pattern. The description adds no parameter meaning beyond the schema, but the required input is self-evident from the tool's stated purpose (birth date). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it returns a soul card and personality card pair computed from a birth date. That is more precise than the title alone and an agent can tell it apart from generic draw tools. It does not, however, differentiate itself from the close sibling astroway_tarot_rider_waite_birth_card, which also derives a card from a date.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states only what the tool returns, with no when-to-use guidance, no prerequisites, and no mention of alternative siblings (birth_card, year_card, shadow_card) that an agent might confuse it with. The '[Group: ...]' tag is categorization, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_spreadsRWS: All SpreadsBRead-onlyIdempotentInspect
List of all 12 RWS spread definitions.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered by structured data. The description adds genuinely new context — that there are exactly 12 definitions and that the call costs 10 credits (Tier 1) — but says nothing about pagination, response shape, or caching, which is acceptable given the output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key fact — what the tool returns and how many — is front-loaded in a single sentence, followed by structured group/cost tags that are easy to scan. No wasted prose, though the metadata lines are boilerplate rather than explanatory.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and the annotations cover safety, so the remaining gap is the missing routing guidance to the slug/draw siblings. Adequate but not complete for a catalog-style listing tool sitting among many tarot siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the two parameters (fields, precision) are fully documented in the schema itself, including the dotted-path syntax and decimal-rounding semantics. The description adds nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List of all 12 RWS spread definitions') with a concrete count, which tells an agent exactly what comes back. It does not explicitly name the near-identical sibling astroway_tarot_rider_waite_spreads_slug, so the boundary between 'all spreads' and 'look up one spread by slug' is left to inference from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no mention of the sibling that fetches a single spread by slug. An agent must guess whether this is the right entry point versus astroway_tarot_rider_waite_spreads_slug or the individual draw_* spread tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_spreads_slugRWS: Single SpreadBRead-onlyIdempotentInspect
Definition of a single spread by slug.
[Group: Tarot: Rider-Waite-Smith] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Spread slug, lowercase and hyphenated. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| slug | No | |
| cardCount | No | |
| positions | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds a genuine behavioral note about billing ('see your plan — endpoint not in the public credit manifest'), which is useful cost context, but says nothing about lookup failure behavior or what the returned definition contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with the core purpose front-loaded, followed by group and cost metadata. Nothing is padded, though the metadata bracket lines are boilerplate rather than task-relevant guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema and complete annotations, the structured data carries most of the burden, and cost context is provided. The gap is routing: with hundreds of siblings, including astroway_tarot_rider_waite_spreads and the Marseille equivalents, the description does not tell the agent which one to pick.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (slug, fields, precision) are already documented with examples and constraints. The description only restates that lookup is by slug, adding no meaning beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (a single spread) and the lookup key (slug), which implicitly separates it from the sibling astroway_tarot_rider_waite_spreads that lists all spreads. However, it uses a noun phrase ('Definition of...') rather than a verb, and never names the sibling it contrasts with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the list-style sibling, nor any prerequisite such as where a valid slug comes from. An agent must infer that slugs are obtained from astroway_tarot_rider_waite_spreads.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_suits_suitRWS: SuitBRead-onlyIdempotentInspect
All 14 cards of a suit (wands, cups, swords, or pentacles).
[Group: Tarot: Rider-Waite-Smith] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| suit | Yes | Minor arcana suit. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| suit | No | |
| count | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so safety is covered. The description adds only a cost caveat ('endpoint not in the public credit manifest'), which is useful but does not clarify output shape or any underlying behavior beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence stating scope, with bracketed group/cost metadata. No wasted prose. The cost note is arguably noise but it is tightly formatted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the tool is a simple lookup. The description is adequate for the task, though the unresolved cost reference leaves a minor ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents suit, fields, and precision. The description merely restates the suit enum values, adding no syntax or semantics beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: 'All 14 cards of a suit' with the four valid suits enumerated. An agent knows exactly what it retrieves. It does not differentiate from siblings like cards, minors, or cards_slug, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus alternatives such as astroway_tarot_rider_waite_cards or minors, nor any prerequisites. Usage must be inferred entirely from the name and param.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_timingRWS: Timing CardCRead-onlyIdempotentInspect
Single timing card to indicate when.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| type | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds two pieces of context not in the annotations: the group membership and the cost of 10 credits (Tier 1), which is genuinely useful for budgeting. It still says nothing about what the returned card means or how timing is derived, so it adds some but not rich behavioral value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded: the purpose line comes first, followed by compact group/cost tags. Nothing is wasted, though the brevity comes at the cost of substance rather than being a virtue of tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but for a tool with five parameters at 40% schema coverage and no usage guidance, the definition is too thin. An agent knows the theme and the credit cost but not how to frame the question, what the optional parameters do, or when this beats the other timing/draw tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% and the description mentions no parameters at all. Five parameters exist (seed, fields, question, precision, allowReversed) and the description does nothing to explain seed, question, or allowReversed, nor how a 'timing' reading should be phrased. With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Single timing card to indicate when' conveys the resource (a tarot card draw) and its function (timing indication), and the group tag anchors it to Rider-Waite-Smith. However, it never states the action explicitly (draw/return) and does not distinguish it from siblings like astroway_tarot_rider_waite_draw_single, astroway_tarot_rider_waite_outcome, or astroway_tarot_marseille_timing. Purpose is inferable but under-specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of when not to use it, and no reference to any alternative tool. An agent cannot tell from this text whether to pick this over the marseille timing variant or the general single-card draw. Usage is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_tarot_rider_waite_year_cardRWS: Year CardBRead-onlyIdempotentInspect
Year card per Greer (m+d+year reduced).
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| card | No | |
| date | No | |
| year | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful non-schema context: the 10-credit Tier 1 cost and the Greer reduction formula, but it does not describe output format, permissions, or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very compact and front-loads the computational formula before the group and cost metadata. There is no wasted text, though the abbreviated formula is terse enough to feel cryptic rather than fully explanatory.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, return values need not be explained, and the annotations cover the safety profile. Still, the description leaves gaps around required date/year semantics and sibling routing, which are relevant for correct invocation in this large toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (fields and precision are documented in the schema; date and year are not). The formula 'm+d+year reduced' adds some meaning for the required date and year inputs, implying month/day are taken from date and summed with year before reduction, but it never clarifies that date is a birth date or gives further usage detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource ('Year card') and the specific method ('per Greer (m+d+year reduced)'), so an agent can tell it computes a tarot year card. It does not explicitly differentiate from related siblings like astroway_tarot_marseille_year_card or astroway_tarot_rider_waite_birth_card, but the RWS-specific name and formula give a clear purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no routing to alternatives. Sibling tools such as astroway_tarot_marseille_year_card and astroway_tarot_rider_waite_birth_card exist, but the description does not say when this one should be selected instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_trwd_love_triangleRWS: Love TriangleBRead-onlyIdempotentInspect
6-card three-person love dynamics.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_tarot_rider_waite_draw_love_triangle.)
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds genuinely operational traits not present in the schema or annotations: the 6-card draw size and the 10-credit / Tier 1 billing cost. It says nothing about reversal handling or return contents, but that is largely covered elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core statement is front-loaded, followed by compact metadata blocks and the alias note. Little waste, though the group/cost/alias scaffolding is boilerplate rather than substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations are rich. However, the terse description leaves key input semantics unanswered (what `question` is for, how `seed` drives determinism, what `allowReversed` changes) for a tool whose whole purpose is a randomized draw.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: `fields` and `precision` are documented in the schema, while `seed`, `question`, and `allowReversed` are undocumented anywhere. The description adds no parameter meaning at all, so it fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"6-card three-person love dynamics" names the resource (a fixed 6-card love-triangle spread) and its scope, and the alias note distinguishes it from the canonical `astroway_tarot_rider_waite_draw_love_triangle`. It does not, however, contrast itself with near neighbors like `astroway_tarot_rider_waite_draw_relationship`. Clear purpose, weak sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no routing to alternatives such as the relationship spread or the canonical non-alias tool. The agent is left to infer that this is the love-triangle draw from the theme alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_trwd_spiritual_pathRWS: Spiritual PathBRead-onlyIdempotentInspect
5-card spiritual development spread.
[Group: Tarot: Rider-Waite-Smith] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_tarot_rider_waite_draw_spiritual_path.)
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| question | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| allowReversed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| drawn | No | |
| spread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds genuinely new information — the 10-credit Tier 1 cost — which an agent cannot get from the annotations or schema. It does not, however, explain whether the draw is randomized, how seed influences reproducibility, or what allowReversed does to the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely tight: one sentence of purpose followed by bracketed group/cost metadata and the alias note, with the purpose front-loaded. Every element is short, though the group/cost tags are more metadata than prose and slightly fragment the read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the cost/alias notes cover the billing and identity concerns. But for a 5-parameter tool with weak schema coverage, the description omits any guidance on question, seed, or allowReversed, leaving real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 5 parameters at only 40% schema description coverage, seed, question and allowReversed are undocumented in the schema and the description says nothing about any of them. The description therefore fails to compensate for the coverage gap, leaving an agent unable to tell whether question affects the draw or what allowReversed changes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific artifact — a 5-card spiritual development spread — and identifies the deck lineage (Rider-Waite-Smith) via the group tag, which distinguishes it from sibling draws like draw_chakra or draw_shadow_work. It also discloses that it is an alias for astroway_tarot_rider_waite_draw_spiritual_path, so an agent knows the two are the same operation. It stops short of saying explicitly that it draws cards, relying on the alias name to convey the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to pick this spread over the many other RWS spreads (three_card, celtic_cross, horseshoe, decision, year_ahead, etc.) and no prerequisites or exclusions. The only routing signal is the group/cost metadata, which tells the agent nothing about appropriateness of use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vd_shodashottari_pratyantarDashas: Shodashottari PratyantardashaBRead-onlyIdempotentInspect
Shodashottari Pratyantardasha: 3-level cascade (MD → AD → 8 PDs).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
(Cursor-friendly alias for astroway_vedic_dashas_shodashottari_pratyantar.)
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the 20-credit (Tier 2) cost and the 3-level cascade structure of the output. It says nothing about auth requirements or rate limits, but with annotations carrying the safety burden this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short bracketed metadata lines and one content line, all front-loaded with the resource identity first. Nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description need not explain return values, and the schema documents all parameters. What is missing for a 20-credit Tier 2 tool sitting among ~30 near-identical dasha siblings is any differentiation guidance or explanation of what the alias relationship means in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data schema is extensively documented (coordinate rules, timezone handling, house-system letters), so the schema does the heavy lifting. The description adds nothing about body, fields or precision; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific dasha system (Shodashottari) and level (Pratyantardasha) and clarifies the position in the hierarchy with '3-level cascade (MD → AD → 8 PDs)', which lets an agent distinguish it from the _maha, _antar, _prana and _sookshma siblings. It is a noun phrase rather than a verb+resource statement, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no named alternative among the many sibling dasha levels. The only steer is the parenthetical noting it is a 'Cursor-friendly alias' for the canonical tool, which hints at which variant to pick in Cursor but says nothing about when a pratyantar-level result is wanted over antar or prana.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_ashtakavargaAshtakavargaBRead-onlyIdempotentInspect
Calculate the Ashtakavarga benefic point table for a Vedic chart: individual bindus for each planet in each sign and the total Sarvashtakavarga.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sarva | No | |
| planets | No | |
| sarvaTotal | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the output shape (bindus per planet/sign and total), which is genuine behavioral context, but says nothing about ayanamsa-dependence, required birth data, or cost implications beyond the bracketed tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Effectively a single front-loaded sentence that puts the technique name and output first, with group and cost as compact bracketed metadata. No wasted prose, though the metadata lines add little to selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations carry the safety profile. However, for a 15-parameter tool with 33% parameter description coverage, the description is thin on how astrological settings (ayanamsa, zodiacType, houseSystem) affect the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
None of the 15 parameters are illuminated by the description, and schema coverage is only 33%. Several parameters (cosmogram, zodiacType, houseSystem, ayanamsaId) have no description text, so the description does not compensate for the coverage gap even though the core date/time/lat/lon params are self-evident.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("Calculate the Ashtakavarga benefic point table for a Vedic chart") and even enumerates the outputs (individual bindus per planet per sign plus Sarvashtakavarga). This clearly separates it from generic Vedic siblings like shadbala or bhavabala. It stops just short of explicitly naming a sibling it replaces or being confused with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many Vedic analysis tools. An agent must infer that this is a Vedic strength/point-scoring technique from the phrase "for a Vedic chart" alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_bhavabalaBhava Bala: house strengthBRead-onlyIdempotentInspect
Strength of the twelve houses per BPHS Adhyaya 27: Bhavadhipati Bala (the Shadbala of the house lord), Bhava Digbala (the four rasi classes, each strong in one direction), and Bhava Drishti Bala (net benefic minus malefic aspect on the bhava). Components returned separately, plus rank, strongest and weakest house.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| unit | No | |
| houses | No | |
| weakest | No | |
| strongest | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety bar is low, and the description adds real value on top: it discloses the calculation lineage (BPHS Adhyaya 27), that components come back separately rather than aggregated, and that rank plus strongest/weakest house are included. The cost tier line also flags that this is a paid (20-credit) call, which is actionable context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core computation and followed by the return shape, plus compact metadata tags for group and cost. Dense with Sanskrit terminology but every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description's explanation of return components is redundant but harmless. The genuine gaps are the absence of usage context and any coverage of the large, sparsely documented parameter set, which matters for a tool whose output depends heavily on ayanamsa and house system choices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description says nothing about any of the 15 parameters, and schema description coverage is only 33%, leaving ayanamsaId, zodiacType, houseSystem, cosmogram, city, and name without either source of guidance. For a 15-parameter chart calculation where sidereal school and house system materially change the output, the description should at least point at the default ayanamsa/house-system behaviour.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (strength of the twelve houses) and enumerates the three classical components (Bhavadhipati, Bhava Digbala, Bhava Drishti Bala), so an agent knows exactly what is computed. It does not explicitly contrast itself with the large family of sibling vedic_shadbala_* tools (planetary strength) or astroway_vedic_ashtakavarga, which would be needed for a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites (it clearly needs birth date/time/coordinates), and no named alternative; the sibling shadbala tools are never mentioned even though they are the obvious confusion set. The description says what the tool computes but nothing about when to route to it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_compatibility_ashtakootCompatibility: Ashtakoot Guna Milan (8-fold 36-point)BRead-onlyIdempotentInspect
Canonical 8-Kuta matchmaking out of 36 points: Varna(1) + Vashya(2) + Tara(3) + Yoni(4) + Graha-Maitri(5) + Gana(6) + Bhakoot(7) + Nadi(8). Threshold 18+ traditionally acceptable; 24+ good; 32+ excellent. Returns per-Kuta scores + Bhakoot/Nadi dosha flags + threshold verdict.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| boy | No | |
| max | No | |
| girl | No | |
| total | No | |
| doshas | No | |
| method | No | |
| points | No | |
| school | No | |
| threshold | No | |
| recommendation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, non-open-world), so the bar is lower. The description usefully adds the return contents (per-Kuta scores, Bhakoot/Nadi dosha flags, threshold verdict) and the 50-credit Tier 3 cost, which annotations do not convey. It does not disclose any hidden constraints beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded, dense and essentially waste-free: identity, scoring breakdown, interpretation thresholds, and return shape. The [Group]/[Cost] tags are boilerplate but short and placed last.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be spelled out, and the description still summarizes them adequately. For a two-chart, cost-bearing tool with rich nested input, the only meaningful omission is differentiating it from the other Vedic compatibility siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nested chart1/chart2 objects, fields, and precision are already documented in detail by the schema. The description adds nothing about input format or the meaning of individual parameters. Baseline 3 is appropriate when the schema carries the full burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource (8-Kuta matchmaking scored out of 36) and even enumerates the eight Kutas with their point weights. That is far more precise than a tautology. It stops short of explicitly distinguishing itself from the clustered compatibility siblings such as astroway_vedic_compatibility_dashakoota or _full, which an agent would have to infer from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus alternatives, no prerequisites, and no excluded cases. The score-threshold sentences interpret a result rather than guide tool selection. With several near-identical Vedic compatibility siblings, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_compatibility_bhrigu_matchCompatibility: Bhrigu-match (7H placement)ARead-onlyIdempotentInspect
Bhrigu Sanhita-style structured 7th-house planetary placement summary for both partners. Counts benefic/malefic planets in each partner's 7H from Lagna and labels status {beneficial|challenging|neutral}. NOT a numerical match score.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| method | No | |
| school | No | |
| summary | No | |
| partner1 | No | |
| partner2 | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed read, so the safety burden is off the description. The description adds real behavioral context the annotations cannot carry: the output is a structured count/label rather than a score, and it costs 50 credits (Tier 3), which matters for tool selection in a large catalog.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the method and scope, with the disambiguating negation placed before the metadata tags. Nothing is padding; every clause adds selection-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and the description still covers what is computed, the label vocabulary, the cost tier and the not-a-score caveat. For a two-chart read-only analytical tool this is sufficient to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested chart1/chart2 objects carry unusually thorough field docs (timezone handling, houseSystem letters, rejected short forms), so the baseline of 3 applies. The description only implies 'both partners' maps to the two chart objects and adds no format or constraint detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific technique (Bhrigu Sanhita 7th-house planetary placement), the exact computation (counts benefic/malefic planets in each partner's 7H from Lagna) and the output label set. The closing 'NOT a numerical match score' explicitly separates it from the dense cluster of compatibility siblings like vedic_compatibility_ashtakoot, dashakoota and relational_match_score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The negative statement 'NOT a numerical match score' tells the agent when this tool is the wrong pick, which implicitly routes scoring requests to the ashtakoot/match-score siblings. However, it never names the alternative or states positively when to choose a Bhrigu placement read over a koota score, so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_compatibility_dashakootaCompatibility: Dashakoota (10-fold 39-point)ARead-onlyIdempotentInspect
Extended matchmaking adding Mahendra(2) + Vedha(1) on top of Ashtakoot 36 = 39 max. Mahendra: birth-star count 4/7/10/13/16/19/22/25 → 2pt; else 0. Vedha: 13 canonical mutually-obstructing nakshatra pairs → 0pt blocked, 1pt clear.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| boy | No | |
| max | No | |
| girl | No | |
| total | No | |
| vedha | No | |
| doshas | No | |
| method | No | |
| points | No | |
| school | No | |
| mahendra | No | |
| threshold | No | |
| dashakootaMax | No | |
| recommendation | No | |
| dashakootaTotal | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent safety profile, so the bar is lower. The description adds genuine behavioral context not present in structured data: the credit cost and tier (50 credits, Tier 3) and the deterministic scoring rule for each koota. It does not cover auth needs or rate limits, but the cost disclosure is material for an agent deciding whether to call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core identity and scope, followed by the scoring formula and metadata tags. Compact and mostly every sentence earns its place, though the detailed Mahendra star-count list is somewhat encyclopedic for a tool-selection description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-chart compatibility scorer with an output schema (so return values need no explanation) and full annotation coverage, the description supplies purpose, scope, cost, and computation. The only meaningful gap is explicit routing guidance among the several Vedic compatibility siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested chart objects are richly documented, so the schema does the heavy lifting. The description adds nothing about the chart1/chart2, fields, or precision parameters; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Dashakoota matchmaking), states it is the 39-point extension of Ashtakoot 36, and details the two added kootas (Mahendra, Vedha). An agent can distinguish it from sibling astroway_vedic_compatibility_ashtakoot purely from the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'adding ... on top of Ashtakoot 36' implies this is the more complete option than ashtakoot, but there is no explicit when-to-use statement or guidance against siblings like compatibility_full or ashtakoot. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_compatibility_fullCompatibility: Parashara full reportARead-onlyIdempotentInspect
Combined matchmaking response: Ashtakoot total + threshold + Manglik check for both partners + per-Kuta sub-scores + recommendation in one call.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| method | No | |
| points | No | |
| school | No | |
| manglik | No | |
| ashtakoot | No | |
| recommendation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so safety is covered. The description adds genuinely useful context beyond that: the credit cost and Tier 3 pricing plus the aggregation behavior. It says nothing about response size, pagination, or the compact-mode path to shrink output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that lists the payoff first, followed by compact Group/Cost metadata. No filler, though the sentence is a dense list rather than a scannable structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the input schema fully documents all four parameters. The description supplies enough for selection — scope, contents, and cost — leaving only the cost-vs-granular-tool trade-off implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the nested chart object descriptions are extremely detailed (coordinate requirements, timezone rules, houseSystem letters). The description mentions two partners but adds no syntax or format meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb-plus-resource: a combined Vedic matchmaking report enumerating exactly what comes back (Ashtakoot total, threshold, Manglik check, per-Kuta sub-scores, recommendation). That enumeration implicitly separates it from the granular siblings (astroway_vedic_compatibility_ashtakoot, _manglik_check, _dashakoota), though it never names them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"in one call" hints that this consolidates what the single-purpose compatibility tools return separately, which is usable routing guidance. But there is no explicit when-to-use/when-not statement and no named alternative, so the agent must infer the trade-off (one 50-credit call vs. several cheaper granular calls).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_compatibility_mangal_matchCompatibility: Mangal-match (Manglik between partners)ARead-onlyIdempotentInspect
Compares Manglik status of both partners and applies BPHS A.39 cancellation rule: if both partners are Manglik, the dosha is mutually cancelled. Returns verdict {compatible|cancelled|incompatible}.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| chart2 | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| method | No | |
| school | No | |
| verdict | No | |
| partner1 | No | |
| partner2 | No | |
| explanation | No | |
| mangalSchool | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, non-destructive read, so the safety profile is covered. The description adds genuine behavioral context beyond that: the BPHS A.39 cancellation rule that makes a double-Manglik pairing come out as 'cancelled' rather than 'incompatible', which an agent could not infer from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the purpose and the decisive rule front-loaded before the verdict enumeration. Nothing repeats the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return format needn't be spelled out, and annotations cover the safety profile. The description supplies the purpose and the interpretive rule; it could be slightly richer on prerequisites (e.g. that two full birth charts with time and coordinates are required), but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested chart objects document every field, so the baseline is 3. The description adds nothing about chart1/chart2, fields, or precision beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compares) and resource (Manglik status of both partners), plus the exact rule applied (BPHS A.39 mutual cancellation) and the possible verdicts. The phrase 'both partners' distinguishes it from the single-chart sibling astroway_vedic_compatibility_manglik_check without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context (two-person Manglik compatibility) is implied by 'both partners' and 'verdict {compatible|cancelled|incompatible}', but there is no explicit when-to-use statement, no when-not, and no routing among the many compatibility siblings (ashtakoot, dashakoota, full, manglik_check). Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_compatibility_manglik_checkCompatibility: Manglik check (single chart)BRead-onlyIdempotentInspect
Detects Manglik status for a single chart with school selection (strict/north/south, default south). Same canon as /vedic/doshas/parashara/mangal; surfaced here in compatibility context for matchmaking flows.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| method | No | |
| school | No | |
| details | No | |
| manglik | No | |
| present | No | |
| severity | No | |
| lagnaSign | No | |
| mangalSchool | No | |
| affectedHouses | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so safety is covered. The description adds useful context beyond them — the canon equivalence and the cost (20 credits, Tier 2) — but says nothing about output shape, failure modes, or how the school selection changes behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences plus bracketed metadata; purpose is stated first and nothing is padded. The cost/group tags are compact and useful rather than verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. However, for a 15-parameter tool the description only touches one (uncertainly mapped) option and omits how most inputs affect the result, leaving a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters, so the description needs to compensate but does not. Worse, the only parameter detail it offers — 'school selection (strict/north/south, default south)' — does not correspond to any visible property in the input schema, leaving the mapping to that option undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Detects Manglik status for a single chart') and clarifies scope ('single chart') plus the school selection it exposes. It names the canonical sibling endpoint `/vedic/doshas/parashara/mangal`, which helps distinguish it, though it does not explicitly contrast with the sibling `astroway_vedic_compatibility_mangal_match`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context ('surfaced here in compatibility context for matchmaking flows') and names the equivalent dosha endpoint, so an agent knows this is the matchmaking-facing variant. It stops short of an explicit when-to-use-this-vs-that rule or any exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_ashtottari_antarDashas: Ashtottari AntardashaARead-onlyIdempotentInspect
Ashtottari Antardasha: 8 sub-periods of the running MD at targetDate (default today UTC). Sub-period of planet Q within MD of P: years = (P.years × Q.years) / 108.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuinely new behavioral context: the default targetDate resolves to today UTC, and the call costs 20 credits at Tier 2 — a quota/cost disclosure the annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the identity of the result, then the default and formula, then the group/cost tags — no padding. The formula is arguably trivia for tool selection, but it is compact and does not bloat the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the params and annotations are well covered. The remaining gap is domain routing: for a complex dasha tool with dozens of near-identical siblings, the definition never states which level or which dasha system the agent should pick, leaving selection underdetermined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds a semantic the schema omits: targetDate defaults to today UTC, which matters because the schema marks it optional with no stated default. The P.years × Q.years / 108 formula explains the domain computation but does not map to any input parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Ashtottari Antardasha) and defines it as '8 sub-periods of the running MD', which implicitly places it at the second level of the dasha hierarchy and separates it from the maha level. It does not, however, explicitly contrast itself with the adjacent antar/pratyantar/prana/sookshma siblings, so an agent must infer the level distinction from the word 'Antardasha'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-naming guidance at all. With 50+ sibling dasha tools spanning 12 systems and 5 levels, the description gives the agent no routing rule for choosing this level over ashtottari_pratyantar or ashtottari_maha.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_ashtottari_mahaDashas: Ashtottari MahadashaARead-onlyIdempotentInspect
108-year Ashtottari Dasha (Ardradi tradition). 8 planets (Sun/Moon/Mars/Mercury/Saturn/Jupiter/Rahu/Venus) with periods 6/15/8/17/10/19/12/21 (total 108y), Ketu excluded. Mapping is block-based (4-3-4-3-3-3-4-3 nakshatras anchored at Ardra). Returns applicability flag per BPHS 46.23 (day Krishna OR night Shukla).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds meaningful domain behavior: the block-based nakshatra mapping anchored at Ardra and a per-chart applicability flag per BPHS 46.23, which the agent could not infer from annotations. It does not, however, describe output shape or computational edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact clauses, each carrying real information (system, planets/periods, mapping, applicability) with the group and cost tag at the end. No filler, but slightly dense in the period-list clause; front-loading the system name is well done.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only dasha calculation tool with an output schema present and rich nested input documentation, the description supplies the domain-specific knowledge an agent needs to select it and to understand the applicability flag. It omits time-range/output-shape details, but those are covered by the output schema and the shared birth-data schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data schema is heavily self-documented (date, time, latitude, longitude, timezone, ayanamsa, houseSystem, plus compact-mode fields and precision). The description adds nothing about the body/fields/precision parameters, so with near-complete schema documentation the baseline of 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the exact system (108-year Ashtottari Dasha), the tradition (Ardradi), the planet set with their period allocations, and the Ketu exclusion. This distinguishes it clearly from the many sibling dashas (Vimshottari, Yogini, Shodashottari, Chara, Kalachakra, etc.) because it names the specific dasha length and planet-period scheme.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys context (which dasha system, which tradition) and the applicability rule from BPHS 46.23 (day Krishna OR night Shukla), which tells the agent when this dasha applies. However, it doesn't explicitly say when to use this tool vs the sibling Mahadasha tools (e.g., vimshottari_maha) or the antar/pratyantar/sookshma/prana sub-levels of the same system.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_ashtottari_pranaDashas: Ashtottari PranadashaCRead-onlyIdempotentInspect
Ashtottari Pranadasha: 5-level cascade (finest grain).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentSookshma | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description's genuine addition is the cost disclosure ('20 credits (Tier 2)') and the group tag, which help an agent budget calls; it adds nothing about output size, depth of the cascade, or computational weight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the technique name and level before the metadata tags. Nothing is wasted, though the extreme brevity shades into under-specification rather than efficient conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but with four near-identical Ashtottari siblings the definition should at least clarify the level hierarchy and what 'pranadasha' yields. 'Finest grain' alone is too thin to let an agent pick correctly among the five cascade levels.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema itself carries rich guidance on birth data, timezone handling, fields/precision compact mode. The description contributes nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a specific technique (Ashtottari Pranadasha) and characterizes it as the '5-level cascade (finest grain)', which implicitly distinguishes it from the shallower maha/antar/pratyantar/sookshma siblings. However, it states no verb and never says what is actually computed or returned, so an agent without Vedic dasha knowledge cannot tell what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or named alternative. 'Finest grain' is the only hint that this is the deepest subdivision level, and it is left to the agent to infer that this differs from astroway_vedic_dashas_ashtottari_sookshma.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_ashtottari_pratyantarDashas: Ashtottari PratyantardashaCRead-onlyIdempotentInspect
Ashtottari Pratyantardasha: 3-level cascade (MD → AD → 8 PDs).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context with the credit cost ('20 credits (Tier 2)') and group tag, but says nothing about depth of returned periods, range limits, or error conditions. With annotations doing the safety work, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one content line plus two bracketed metadata tags — tightly sized and front-loaded with the operation. It does not pad or bury the key fact, though the metadata tags are administrative rather than instructive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and rich annotations exist, so return values and safety need not be restated. What is missing is disambiguation within a very large sibling family: nothing tells the agent how a 3-level pratyantar cascade relates to the antar, prana or sookshma tools, which is the main routing risk for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the input schema already documents body (birth data), fields (compact mode) and precision thoroughly. The description adds no parameter meaning of its own, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Ashtottari Pratyantardasha) and adds structural detail ('3-level cascade (MD → AD → 8 PDs)'), so it is more than a tautology. However, it relies on unexplained Vedic jargon (PD, AD, MD) and does not differentiate this tool from the many sibling dasha levels (antar, prana, sookshma) or other dasha systems that share the naming pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no mention of alternatives, despite roughly fifty sibling dasha tools (ashtottari_antar, ashtottari_prana, ashtottari_sookshma, vimshottari_pratyantar, etc.). The cascade notation hints that this is a sub-level, but the agent gets no rule for choosing pratyantar over antar or prana.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_ashtottari_sookshmaDashas: Ashtottari SookshmadashaCRead-onlyIdempotentInspect
Ashtottari Sookshmadasha: 4-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description usefully adds the credit cost (20 credits, Tier 2), which an agent cannot get from annotations or schema, but says nothing about compute cost, latency, or the shape of the cascade.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded: the resource, cascade depth, group and cost are all stated without filler. The brevity is a virtue structurally even though the content is thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But with roughly fifty sibling dasha tools and five Ashtottari levels, an agent needs to know what a sookshma subdivision is and why to pick this level over antar/pratyantar/prana; the description supplies none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data schema is thoroughly documented (date/time formats, timezone handling, houseSystem letters, field projection). The description adds nothing beyond that, so the baseline 3 applies; '4-level cascade' only loosely gestures at output depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific dasha system and subdivision (Ashtottari Sookshma) and adds that it is a '4-level cascade', which conveys the output's structure. However, it is largely a restatement of the title and gives no basis for distinguishing this from the four sibling Ashtottari levels (maha, antar, pratyantar, prana) or from the other nine dasha systems' sookshma tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no reference to the closely related antar/pratyantar/prana/maha siblings. The only routing signal is the [Group: Vedic] tag, which every sibling shares.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_chara_antarDashas: Chara AntardashaARead-onlyIdempotentInspect
Chara Antardasha: 12 sub-periods of the running Mahadasha at targetDate (default today UTC). Equal-share subdivision: each antar = parent_years / 12. Order: parent's NEXT sign first (in parent direction), parent sign LAST (per K.N. Rao).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| variant | No | |
| ayanamsa | No | |
| currentMaha | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description adds real value beyond them: the equal-share subdivision rule (parent_years / 12), the ordering convention (next sign first, parent sign last per K.N. Rao), and the credit cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences that front-load what is computed before the algorithm detail, plus compact group/cost tags. Minimal waste, though the K.N. Rao attribution and subdivision formula are specialized jargon an outsider must parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. Given the read-only annotations and the algorithmic detail provided, an agent has enough to call this correctly; only the routing against sibling dasha levels is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already carries most parameter meaning; baseline is 3. The description adds only that targetDate defaults to today UTC, leaving targetTime, targetTzOffset, fields and precision untouched.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Chara Antardasha) and describes exactly what it computes: the 12 sub-periods of the running Mahadasha. The 'antar' level is clear against the dasha hierarchy, though it never names the sibling levels (chara_pratyantar, chara_prana, chara_sookshma) an agent might confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the timing anchor ('at targetDate, default today UTC') but there is no explicit when-to-use, when-not-to, or routing guidance to the other Chara dasha tools. An agent must infer it from the 'Antardasha' label alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_chara_mahaDashas: Chara MahadashaBRead-onlyIdempotentInspect
Chara Dasha (Jaimini rasi-dasha: Mahadasha lord = sign, not planet). 12 Mahadashas of variable duration starting at lagna sign. Direction = forward for movable+dual signs (Aries/Cancer/Libra/Capricorn/Gemini/Virgo/Sagittarius/Pisces); reverse for fixed (Taurus/Leo/Scorpio/Aquarius). Per-sign duration = inclusive count from sign to its lord (in direction) minus 1; lord-in-own-s…
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| variant | No | |
| ayanamsa | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real domain behavior (direction rules, duration formula), which is useful for interpreting results, but says nothing about the required birth-data input, credit cost implications, or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the identity of the technique, which is good, but a large share of the text is algorithm implementation detail ('inclusive count from sign to its lord minus 1') that does not help an agent select or invoke the tool. The text is also truncated mid-sentence ('lord-in-own-s…'), which hurts structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations cover safety. What is missing is the usage context relative to the ~30 dasha siblings and any mention of the required birth-data input; the definition is internally detailed but incomplete as a tool-selection aid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there are only 3 top-level parameters (body, fields, precision), so the schema carries the parameter burden. The description adds no parameter-level detail beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a specific technique and defines it precisely: 'Chara Dasha (Jaimini rasi-dasha: Mahadasha lord = sign, not planet)' and states the 12 Mahadashas of variable duration from the lagna sign. An agent can tell this is the Jaimini Chara Mahadasha computation. However it never distinguishes itself from the sibling Chara tools (chara_antar, chara_pratyantar, chara_prana, chara_sookshma), so the agent cannot tell which Chara level to call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose Chara Dasha over the many other dasha systems (Vimshottari, Ashtottari, Kalachakra, etc.), nor over the Chara sub-period siblings. The description is purely a mathematics lecture with no routing context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_chara_pranaDashas: Chara PranadashaBRead-onlyIdempotentInspect
Chara Pranadasha: 5-level cascade (finest grain). Minute-scale duration at full depth.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| variant | No | |
| ayanamsa | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentSookshma | No | |
| currentPratyantar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed world). The description adds two genuinely useful behavioral facts not in the structured fields: the depth structure (5-level cascade) and the output granularity (minute-scale at full depth), plus the 20-credit tier cost. It omits return shape and pagination, so it lands at a solid 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus bracketed metadata; the technique name and depth claim are front-loaded with zero filler. Slightly telegraphic rather than wasteful, so not quite a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But for a 3-parameter astrological dasha tool with a complex nested birth-data body, the description never clarifies the relationship between the chart data, the optional target date/time, and the resulting prana sequence. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data object is heavily documented in the schema itself, so baseline is 3. The description contributes nothing about the body, targetDate/targetTime, or the compact-mode fields/precision parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific technique (Chara Pranadasha) and its position as the fifth, finest level of the cascade, which lets an agent place it against the chara_maha/antar/pratyantar/sookshma siblings. It does not explicitly name those siblings or route between them, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this depth versus chara_sookshma or chara_pratyantar, no prerequisites, no exclusions. The only hint is 'finest grain', which implies precision but never says the trade-off in cost or output volume.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_chara_pratyantarDashas: Chara PratyantardashaBRead-onlyIdempotentInspect
Chara Pratyantardasha: 3-level cascade (MD → AD → 12 PDs). Recursive equal-share subdivision; same direction at every depth.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| variant | No | |
| ayanamsa | No | |
| currentMaha | No | |
| currentAntar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only, idempotent and non-destructive, so the safety profile is covered. The description adds genuine context the annotations lack: the recursive equal-share subdivision rule, the same-direction-at-every-depth constraint, and the 20-credit Tier 2 cost. It still says nothing about response shape or computation limits, but given annotation coverage this is a reasonable 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the level name and the cascade structure, followed by the [Group] and [Cost] metadata. Nothing is wasted, though the cascade notation assumes familiarity and takes no space to spell out.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations plus the rich body schema carry the input contract. The gap is routing: with six dasha systems and five depth levels as siblings, the description does not tell the agent when this pratyantar level is the right choice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the body schema documents date/time/latitude/longitude, timezone, ayanamsa and houseSystem in depth, plus the compact-mode fields/precision parameters. The description adds no additional parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific outcome: the Chara Pratyantardasha, the third level of a cascade (MD → AD → 12 PDs) computed by recursive equal-share subdivision. That distinguishes it from the shallower chara_maha/antar siblings by describing the level depth and method. It falls short of 5 because it never names the sibling alternatives it must be chosen over.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to call this versus astroway_vedic_dashas_chara_maha, _antar, _prana or _sookshma, nor any prerequisite such as requiring a birth chart first. The cascade structure implies a depth, but the agent must infer which level it should request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_chara_sookshmaDashas: Chara SookshmadashaCRead-onlyIdempotentInspect
Chara Sookshmadasha: 4-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| variant | No | |
| ayanamsa | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentPratyantar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description adds cost and tier metadata ('20 credits (Tier 2)'), which is genuinely useful operational context not present in the annotations, but it discloses nothing about output shape or cascade behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loads the one substantive phrase ('4-level cascade'). Every sentence is short and non-redundant, though the sparseness reflects under-specification rather than optimal concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, but for a tool sitting in a dense family of near-identical dasha-level siblings, the description does nothing to help an agent choose it or understand what '4-level cascade' delivers. It is not complete enough to disambiguate from its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the body/fields/precision parameters are already fully documented in the schema. The description adds no parameter semantics, which is the correct baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name/title ('Chara Sookshmadasha') and adds only '4-level cascade', which hints at structural depth but never states what the tool computes or returns. It does not distinguish this sookshma level from the sibling levels (chara_maha/antar/pratyantar/prana) beyond an opaque '4-level cascade' phrase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when to prefer it over the other Chara dasha levels, or what input state it requires. The only extra text is group/cost metadata, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_kalachakra_antarDashas: Kalachakra AntardashaARead-onlyIdempotentInspect
Kalachakra Antardasha: 9 sub-periods of the running MD at targetDate (default today UTC). Same chakra-row at every depth; sub-period of sign Q within MD of P: years = (P.years × Q.years) / paramayu.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely non-annotation context: the 20-credit Tier 2 cost, the targetDate default of today UTC, and the computation formula that explains what the returned period lengths mean.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and scope are front-loaded in the first sentence, the formula follows as supporting detail, and the group/cost tags close it out. No sentence is redundant and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the input schema is fully documented. What is missing for a tool embedded in a large dasha family is routing context: nothing tells the agent why to pick Antardasha over Kalachakra pratyantar or over the Vimshottari/Ashtottari equivalents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description still adds value by documenting that targetDate defaults to today UTC, a default the schema itself does not state, and by explaining how the depth parameterizes the returned periods. It leaves targetTime and targetTzOffset to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific resource (Kalachakra Antardasha) with an explicit level and scope: '9 sub-periods of the running MD at targetDate'. The formula for the sign-level sub-period pins down what an Antardasha is in this system. It does not, however, name which sibling depth (maha/pratyantar/sookshma) to use instead, so differentiation relies on the reader knowing the dasha-level convention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative tool is named despite ten other dasha systems each exposing an `_antar` variant and three other Kalachakra depths existing as siblings. The only usage hint is the targetDate default.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_kalachakra_mahaDashas: Kalachakra MahadashaARead-onlyIdempotentInspect
Kalachakra Dasha (rasi-dasha: Mahadasha lords are signs, not planets). 8 chakra-rows (Savya×4 + Apasavya×4); direction determined by nakshatra group (Aswini/Bharani/Krittika = Savya; Rohini/Mrigasira/Ardra = Apasavya). Total cycle (paramayu) varies per natal pada: 100/85/83/86 years. Returns the 9 Mahadashas of the running cycle from birth; first MD truncated by elapsed pada-f…
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is met. The description adds real behavioral context beyond that: the computation is a rasi-dasha governed by sign lords, direction depends on nakshatra group, cycle length varies per pada, and the first Mahadasha is truncated by elapsed pada fraction. That is substantive, non-obvious disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is dense but front-loaded with the defining characteristic of the dasha, then structure, then return shape. Each clause carries domain information rather than filler, though the trailing truncation ('first MD truncated by elapsed pada-f…') leaves the last sentence dangling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and a fully documented input schema, the description need not restate returns or parameters, and it supplies the domain framing an agent needs to interpret results. The only material gap is absent routing to the kalachakra sub-period siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the birth-data schema is richly annotated (timezone, houseSystem, coord validation), so the burden is on the schema. The description adds no parameter-level detail, making baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific dasha system and immediately characterizes it ('Kalachakra Dasha (rasi-dasha: Mahadasha lords are signs, not planets)'), distinguishing it from planetary dashas like Vimshottari. It also states the return set ('the 9 Mahadashas of the running cycle from birth'), which separates it from the lower-level kalachakra_antar/pratyantar/prana/sookshma siblings without naming them directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no sibling is named as an alternative (e.g. kalachakra_antar for sub-periods). The description explains how the system works (Savya/Apasavya direction, paramayu) but never tells an agent which Kalachakra level to pick for a given need.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_kalachakra_pranaDashas: Kalachakra PranadashaBRead-onlyIdempotentInspect
Kalachakra Pranadasha: 5-level cascade (finest grain, minutes-scale at full depth).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentSookshma | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is covered. The description adds the 20-credit Tier 2 cost and the output-depth trait, which are genuinely useful and not present in the annotations, but says nothing about response size, latency, or validity constraints at minute-scale depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus group and cost metadata, front-loaded with the technique name and its distinguishing depth trait. Nothing is wasted, though the brevity leaves routing gaps that a slightly longer treatment would have closed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema and output schema are rich, so return values need no explanation, and annotations cover the safety profile. However, for a tool sitting in a five-member Kalachakra family, the description does not tell the agent how this level relates to the other four, leaving the primary selection question unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested body schema documents every field (birth data, ayanamsa, timezone, target date/time, fields, precision) in detail, so the schema carries the burden. The description adds no parameter-level meaning beyond that, which is the baseline 3 for a fully documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific technique (Kalachakra Pranadasha) and characterizes its output depth as a '5-level cascade' at the 'finest grain, minutes-scale'. That meaningfully separates it from the four sibling levels (maha, antar, pratyantar, sookshma) which are not described as finest-grain, though the sibling relationship is never made explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over the shallower Kalachakra levels or over other dasha systems (vimshottari, ashtottari, etc.). The agent must infer selection from the phrase 'finest grain' alone, with no stated prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_kalachakra_pratyantarDashas: Kalachakra PratyantardashaBRead-onlyIdempotentInspect
Kalachakra Pratyantardasha: 3-level cascade (MD → AD → 9 PDs). Recursion preserves the natal chakra-row and paramayu.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: recursion preserves the natal chakra-row and paramayu, which explains how the cascade is anchored. It stops short of describing the return shape or any auth/rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus a group/cost footer; nothing is padded, and the operative detail (cascade depth, preserved natal parameters) is front-loaded. Slightly terse relative to the domain jargon it assumes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% input-schema coverage, the description needn't explain return values or fields. What remains missing is selection guidance against the many sibling dasha tools, which is the main decision an agent faces here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so body/fields/precision are already fully documented in the schema (including the compact-mode semantics). The description adds no parameter-level information, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact dasha level and its depth ('3-level cascade (MD → AD → 9 PDs)'), which is more specific than the bare title and distinguishes it from the shallower antar/maha siblings in the Kalachakra family. It does not, however, name the sibling tools it differs from, so differentiation is left to the agent's inference from the level terminology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives such as kalachakra_antar, kalachakra_prana, or another dasha system's pratyantar. The agent must guess at the appropriate depth level from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_kalachakra_sookshmaDashas: Kalachakra SookshmadashaCRead-onlyIdempotentInspect
Kalachakra Sookshmadasha: 4-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, idempotent, non-destructive, closed-world call, so safety is covered. The description usefully adds cost context (20 credits, Tier 2) that appears nowhere in the structured fields, but says nothing about what a sookshma-level result contains or how the 4-level cascade is structured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and the one substantive clause ('4-level cascade') is front-loaded, but the two bracketed metadata lines are boilerplate and the whole thing is under-specified rather than genuinely economical. Nothing is wasted, yet little is delivered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a tool sitting among five Kalachakra depth variants plus dozens of other dasha systems, the description fails to say what distinguishes this level or when the extra depth is warranted. '4-level cascade' is ambiguous about whether it returns four levels or is the fourth level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with rich documentation of date/time/timezone/houseSystem and the optional targetDate/targetTime fields, so the baseline is 3. The description adds no parameter meaning beyond the schema and never signals that target-date fields exist for period selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('Kalachakra Sookshmadasha') and adds a structural hint ('4-level cascade'), so the purpose is inferable, but there is no verb and it essentially restates the title. It does nothing to distinguish this from the near-identical kalachakra_prana, kalachakra_pratyantar, kalachakra_antar and kalachakra_maha siblings, leaving the agent to guess which cascade depth it computes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no condition selecting this depth over the other four Kalachakra levels, no note on required birth data, and no mention of the target-date parameters. The agent gets no help routing between this tool and its many look-alike siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shatabdika_antarDashas: Shatabdika AntardashaBRead-onlyIdempotentInspect
Shatabdika Antardasha: 7 sub-periods of the running MD at targetDate. Recursive proportional split (parent_years × sub_planet_period / 100).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description usefully adds the derivation rule ('recursive proportional split: parent_years × sub_planet_period / 100'), which explains how the returned periods are computed, but it says nothing about output shape, cost behavior beyond the tag, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences that front-load the resource and level, plus compact group/cost tags. Nothing is padded, though the formula clause could be trimmed for a shorter reader-facing summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full annotation coverage, and a 100%-documented input schema, the description only needs to convey purpose and computation, which it does. The main remaining gap is the absence of guidance on level selection relative to sibling dasha tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the rich birth-data schema already documents date/time/lat/long, timezone and targetDate. The description only re-references `targetDate`, adding no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific dasha system and level ('Shatabdika Antardasha') and states the output: 7 sub-periods of the running MD at targetDate. It does not, however, distinguish itself from the sibling levels (maha, pratyantar, prana, sookshma), which share nearly identical wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this level versus the other Shatabdika granularities or other dasha families, and no prerequisites or exclusions. The only usage hint is the implicit 'at targetDate' scoping, which is not framed as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shatabdika_mahaDashas: Shatabdika MahadashaBRead-onlyIdempotentInspect
Shatabdika Dasha: 100-year nakshatra dasha cycle (BPHS Adhyaya 46 group). 7 planets (no shadow planets), seed nakshatra = Revati (27). Sequence: Sun(5)→Moon(5)→Venus(10)→Mercury(10)→Jupiter(20)→Mars(20)→Saturn(30). Distribution: 6 planets get 4 nakshatras each, Saturn gets 3. Standard nakshatra-fraction × period balance rule. Algorithm port of PyJHora sataatbika.py.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so safety behaviour is covered. The description adds genuinely useful non-schema context: the cost tier (20 credits, Tier 2), the Vedic group membership, and the algorithmic provenance (PyJHora sataatbika.py, BPHS Adhyaya 46) which signals reproducibility. It does not describe output shape, but an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what the dasha is, then the sequence and distribution in compact notation, then provenance, then bracketed group/cost tags. Nothing is padded, though the sequence/period arithmetic is more detail than an agent needs to select the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema and a 100%-documented input schema, the core gaps are closed. What remains missing is routing context in a family of ~50 dasha endpoints: whether this returns the full Mahadasha timeline, whether targetDate matters here, and how it relates to the antar/pratyantar/prana siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data schema is exhaustively documented (date/time formats, rejected short forms, timezone handling, houseSystem letters). The description adds nothing about body, fields or precision, so the baseline of 3 is appropriate; the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name, title and description together identify a specific calculation: the Shatabdika (100-year nakshatra) Mahadasha cycle, with its planet sequence, periods and seeding nakshatra spelled out. It is clearly not the same system as vimshottari or yogini. However, it never states the output level explicitly nor distinguishes itself from the sibling shatabdika_antar/pratyantar/sookshma/prana tools beyond the 'maha' in its name, so the agent must infer the granularity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusion criteria, and no mention of the many alternative dasha systems offered as siblings. The description is purely descriptive of the dasha mechanics; it gives the agent no basis for choosing this tool over shatabdika_antar or any other dasha Mahadasha tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shatabdika_pranaDashas: Shatabdika PranadashaBRead-onlyIdempotentInspect
Shatabdika Pranadasha: 5-level cascade (finest grain).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentSookshma | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the genuinely useful cost metadata (20 credits, Tier 2) and group membership, but says nothing about what the cascade output contains or how deep/temporally bounded the periods are.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the identifying phrase, and the cost/group tags are informative rather than filler. It is efficient, though partly because it says so little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich input schema and an output schema present, parameter and return-value explanation is not needed, so the definition is workable. The remaining gap is sibling disambiguation across the dense dasha family, which the tag line does not address.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including detailed prose on date/time/latitude/longitude, timezone semantics, ayanamsa, houseSystem letters, plus 'fields' and 'precision' compact-mode params. The description adds no parameter meaning whatsoever, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact dasha system (Shatabdika) and the specific level (Pranadasha), and '5-level cascade (finest grain)' distinguishes it from the shallower shatabdika_maha/antar/pratyantar/sookshma siblings sharing the namespace. It stops short of a full verb phrase ('computes a dasha timeline'), but an agent can place it correctly among the ~50 dasha siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all: nothing says when a Prana-level Shatabdika breakdown is preferable to Sookshma or Pratyantar, or how this system differs from Vimshottari/Ashtottari. The agent must infer routing purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shatabdika_pratyantarDashas: Shatabdika PratyantardashaBRead-onlyIdempotentInspect
Shatabdika Pratyantardasha: 3-level cascade (MD → AD → 7 PDs).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is covered. The description adds two things annotations do not carry — the credit cost (20 credits, Tier 2) and the cascade depth — but says nothing about output shape, computation basis, or any preconditions beyond the birth data the schema already demands.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the resource and its cascade, followed by group and cost metadata. Nothing is padded, though the terseness comes at the cost of omitting selection guidance rather than from efficient compression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The input schema is fully documented and an output schema exists, so return values need no explanation. However, for a tool sitting in a dense family of near-identical dasha/level variants, the description gives no differentiation or selection context, leaving the agent to rely entirely on the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the body/fields/precision parameters are each documented in the schema (including the ayanamsa, timezone and houseSystem conventions). The description contributes nothing about parameters, so the baseline 3 for schema-carried semantics is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific resource (Shatabdika Pratyantardasha) and adds real structure — '3-level cascade (MD → AD → 7 PDs)' — which tells the agent this is the third dasha level with 7 PDs under each AD, distinguishing it in depth from the shatabdika_antar/maha siblings. It stops short of an explicit verb (compute/return) and never states what the output represents, so it is clear but not fully self-explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. With ~10 sibling dasha systems each exposing maha/antar/pratyantar/sookshma/prana levels, the description never says when to select pratyantar over antar or sookshma, nor when Shatabdika is preferred over Vimshottari or Yogini. The level is only inferable from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shatabdika_sookshmaDashas: Shatabdika SookshmadashaBRead-onlyIdempotentInspect
Shatabdika Sookshmadasha: 4-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description contributes cost (20 credits, Tier 2) and group, which is real value not present in the structured fields, but says nothing about what the cascade returns or its ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the tool's identity before the metadata tags. Nothing is wasted, though the terseness borders on under-specification rather than true economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema and an output schema present, the description need not explain return values, and cost/group are supplied. However, for a member of a very dense sibling family it still omits what the 4-level cascade yields and how it relates to the other shatabdika levels, leaving the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the birth-data block is thoroughly documented in the schema itself (formats, ayanamsa, timezone rules, houseSystem letters). The description adds no parameter meaning, which is the correct baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (Shatabdika Sookshma dasha) and adds '4-level cascade', which indicates the nesting depth and hints at the distinction from the flatter sibling levels (maha/antar/pratyantar/prana). It lacks a verb and never explicitly contrasts itself with the ten-plus other dasha tools, but the resource is clear enough to act on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. An agent choosing among shatabdika_maha/antar/pratyantar/prana/sookshma gets only the implicit hint of '4-level cascade' to go on, which is not sufficient routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shodashottari_antarDashas: Shodashottari AntardashaBRead-onlyIdempotentInspect
Shodashottari Antardasha: 8 sub-periods of the running MD at targetDate. Recursive proportional split (parent_years × sub_planet_period / 116).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false and openWorld=false, so the safety profile is fully covered. The description adds genuinely useful behavioral context — that the split is recursive and proportional (parent_years × sub_planet_period / 116) — which is the one thing structured fields cannot convey. It stops short of describing output shape or edge cases, but the output schema covers returns, so a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the technique and scope, followed by the grouping and cost tags. No filler. The formula sentence is dense but earns its place by defining the calculation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and full annotations exist, so return values and safety need not be restated. What is missing for a 5 in this dense tool family is disambiguation and usage guidance relative to the other shodashottari and antar siblings — the one gap that structured data cannot fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the body schema is richly annotated, so baseline 3 applies. The description does explain the semantics of targetDate (the moment at which the running MD is evaluated), but adds nothing about the birth-data body, fields, or precision parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the exact technique with a specific verb+resource: it returns the 8 Antardasha sub-periods of the running Mahadasha evaluated at targetDate. This implicitly separates it from shodashottari_maha (the MD itself) and the deeper pratyantar/prana levels. However, it never names a sibling or explicitly states the level in the hierarchy, so an agent must infer the distinction from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. Given the very large sibling family (maha/antar/pratyantar/prana/sookshma across a dozen dasha systems), the description should say something like 'use this for level-2 detail inside the Shodashottari MD; for level 3 use shodashottari_pratyantar'. Nothing here routes the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shodashottari_mahaDashas: Shodashottari MahadashaBRead-onlyIdempotentInspect
Shodashottari Dasha: 116-year nakshatra dasha cycle (BPHS Adhyaya 46 group). 8 planets (Rahu excluded, Ketu included), seed nakshatra = Pushya (8). Sequence: Sun(11)→Mars(12)→Jupiter(13)→Saturn(14)→Ketu(15)→Moon(16)→Mercury(17)→Venus(18). Distribution: 3 planets get 4 nakshatras, 5 get 3. Per AmatyaKaraka tradition: applicable when lagna in Chandra hora during Krishna paksha O…
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false, openWorld=false, so the safety profile is fully covered by structured data. The description adds domain behavior (which planets are included/excluded, the seed nakshatra, the period distribution) that is useful context but says nothing about return shape, time span coverage, or how the Mahadasha list is bounded — gaps that the output schema presumably fills.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The domain facts are front-loaded and information-dense, but the exhaustive sequence enumeration Sun(11)→...→Venus(18) reads like a data dump that arguably belongs in the output rather than the selection description, and the final sentence trails off mid-word, hurting structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description does supply the domain meaning an agent needs to understand what the tool computes. It is nonetheless incomplete: no sibling routing, no explicit statement of what comes back, and a truncated applicability rule.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the deeply documented `body` object already explains birth-data requirements, ayanamsa, timezone handling, plus the compact-mode `fields`/`precision` params. The description adds no parameter-level syntax or constraints, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — the Shodashottari Mahadasha cycle — and pins down its defining details (116-year cycle, BPHS Adhyaya 46, planet sequence). However, it never states the operation explicitly (that it returns the Mahadasha-level periods) and does nothing to distinguish itself from the sibling shodashottari_antar/pratyantar/prana/sookshma tools; the agent must infer the 'maha' level from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is a partial applicability condition ('applicable when lagna in Chandra hora during Krishna paksha'), which is genuine domain-level when-to-use guidance, but the sentence is truncated and there is no routing guidance among the four other Shodashottari depth-level siblings. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shodashottari_pranaDashas: Shodashottari PranadashaCRead-onlyIdempotentInspect
Shodashottari Pranadasha: 5-level cascade (finest grain).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentSookshma | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description contributes the pricing tier ('20 credits (Tier 2)') and the cascade depth, which is useful operational context, but says nothing about output shape or compute cost beyond the credit line.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse lines, front-loaded with the identifier and grain level, and the cost tag earns its place. Nothing is wasted, though the brevity reflects under-specification as much as economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the description gives an agent no basis for choosing this tool over the other Shodashottari levels or other dasha systems, and no hint of the cascade's structure. For a tool in such a dense sibling cluster, it is incomplete on selection context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested body schema already documents date/time/coordinates/timezone/houseSystem in depth. The description adds no parameter-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific dasha system and level (Shodashottari Pranadasha) and adds '5-level cascade (finest grain)', which is a substantive detail beyond the title. However, it states no verb and does not clarify what the tool actually returns or how it differs from the many sibling dasha tools (e.g. shodashottari_maha/antar/pratyantar/sookshma). Purpose is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. With roughly 40 sibling dasha tools differing only by system and depth level, this is exactly the case where routing guidance is needed, and none is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shodashottari_pratyantarDashas: Shodashottari PratyantardashaBRead-onlyIdempotentInspect
Shodashottari Pratyantardasha: 3-level cascade (MD → AD → 8 PDs).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint, so the safety profile is covered. The description's genuine addition is cost metadata (20 credits, Tier 2), which annotations do not carry, plus the level-depth disclosure. It says nothing about auth requirements or rate limits, but an output schema exists so return-format detail is not required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the level cascade before the group/cost tags. No padding, though it is arguably under-specified for the tool's complexity rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 100% schema coverage, an output schema, and full annotations, most call mechanics are covered elsewhere. The remaining gap is disambiguation from the dense cluster of sibling dasha tools, which the description only hints at through 'MD → AD → 8 PDs'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the birth-data object is heavily documented (date/time formats, ayanamsa, timezone semantics, houseSystem letters). The description adds no parameter meaning of its own, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Shodashottari Pratyantardasha) and pins its depth with '3-level cascade (MD → AD → 8 PDs)', which implicitly separates it from the maha/antar/prana/sookshma siblings. There is no verb, and it never names an alternative dasha system (vimshottari_pratyantar, ashtottari_pratyantar, etc.), so differentiation rests entirely on the level label.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of when another dasha level or system would be the better call. With ~60 near-identical dasha siblings, the agent gets no routing help beyond the level count embedded in the purpose line.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shodashottari_sookshmaDashas: Shodashottari SookshmadashaCRead-onlyIdempotentInspect
Shodashottari Sookshmadasha: 4-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely new facts: the cost (20 credits, Tier 2) and the cascade depth. It stops there, disclosing nothing about volume of output or how the four levels nest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded, with no wasted wording. It is terse rather than bloated; the brevity is efficient, even if the content itself is thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema and full annotations, the return format does not need explaining, but the one thing an agent needs in a catalog of dozens of dasha tools — how sookshma differs from antar/pratyantar/prana/maha — is absent. For a specialized Vedic endpoint this leaves a real selection gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the nested body schema carries a very detailed description of birth data, timezone handling, and compact-mode fields. The description adds nothing beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (Shodashottari Sookshmadasha) and adds a structural clue ('4-level cascade'), but it never explains what distinguishes sookshma from the sibling levels antar, pratyantar, prana, and maha that sit right next to it in the tool list. An agent must already know the dasha taxonomy to know when this level applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no reference to any alternative. The only non-definitional content is group and cost metadata, not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shoola_antarDashas: Shoola AntardashaBRead-onlyIdempotentInspect
Shoola Antardasha: sub-periods of running MD at targetDate per chosen antardasaSeedOption.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| ayanamsa | No | |
| currentMaha | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world behavior, so the safety profile is covered. The description adds the credit cost (20 credits, Tier 2) and group tag, which is useful billing context, but says nothing about output shape, what 'running MD' means when targetDate falls outside any period, or any rate/limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Roughly two lines, front-loaded with the operation and its two key inputs, with zero filler. It is efficient, though the metadata tags (Group, Cost) consume a meaningful share of an already very short string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the safety profile, the description need not explain return values. However, for a specialized Jyotish dasha tool surrounded by hundreds of siblings, it omits the domain concept (what an antardasha is, how it relates to pratyantar/prana) and the meaning of the required seed option, leaving the agent without enough to route confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the birth-data block, fields, and precision. The description adds only a little: it ties targetDate to the period being resolved and labels antardasaSeedOption as a seed choice, but never explains what values 1/2/3 mean or what houseIndex and targetTime do.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it computes Shoola Antardasha sub-periods of the running mahadasha at targetDate. This is clear within the Vedic dasha family, but it does not explicitly distinguish itself from the adjacent shoola_pratyantar, shoola_prana, or shoola_sookshma siblings that also return nested sub-periods.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use context is given, no alternatives are named, and no prerequisites are stated. The only hint is 'per chosen antardasaSeedOption', which implies a choice but never explains when to pick option 1, 2, or 3 or why one would call this instead of a sibling dashas tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shoola_mahaDashas: Shoola MahadashaBRead-onlyIdempotentInspect
Shoola Dasha: Jaimini "Trident" rasi-dasha. Seed = stronger_rasi(asc, asc+6) by default (houseIndex=1; can be 1..12 to shift the lagna anchor). MD = 12 signs forward, 9 years each. Sub-period antara-seed option=2 by default (stronger_rasi of parent vs parent+6); option 1 = sign of lord(parent), option 3 = sign of lord(stronger). Children: equal 12-fold split, forward from …
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| ayanamsa | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world). The description adds genuine behavioral context: the default seed rule, the 12-sign/9-year MD structure, and the three antardasa seed options. It does not disclose cost/credit behavior, rate limits, or anything about the truncated 'children' output, which the output schema partly compensates for.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the tool identity but is dense jargon and, critically, is visibly truncated mid-sentence ('forward from …'), meaning the description itself is incomplete. The algorithmic detail is useful but not organized for scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, the description ends abruptly, omits any comparison to the four sibling Shoola levels, and leaves usage conditions unstated. Adequate for calling the tool, thin for choosing it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high, but the schema gives no descriptions for houseIndex or antardasaSeedOption. The description supplies real semantics: houseIndex shifts the lagna anchor (1..12), and option 1/2/3 map to distinct seed rules, which is meaning an agent could not recover from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific system (Shoola Dasha, Jaimini "Trident" rasi-dasha) with the level implied by the name. It is clearly a dasha computation, but it never explicitly distinguishes itself from its sibling levels (shoola_antar, shoola_prana, shoola_pratyantar, shoola_sookshma), so the agent must infer that 'maha' means the top-level mahadasha.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the internal algorithm/defaults but gives no explicit when-to-use guidance and no routing to the sibling dasha-level tools. There is no statement of prerequisites (birth data already established) or of when the other Shoola levels are preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shoola_pranaDashas: Shoola PranadashaBRead-onlyIdempotentInspect
Shoola Pranadasha: 5-level cascade (finest grain).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| ayanamsa | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentSookshma | No | |
| currentPratyantar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new operational context not in the annotations — the 20-credit Tier 2 cost — plus the cascade depth. It says nothing about output shape or timing, but the output schema exists, so this is adequate rather than rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two lines plus bracketed Group/Cost metadata, front-loaded with the dasha name and depth descriptor. No filler, though the brevity borders on under-specification for a cost-bearing calculation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema and output schema carry the structural burden, and the cost tag covers pricing, but against a sibling set of hundreds of dasha tools the description does not distinguish Shoola from other systems (ashtottari, chara, kalachakra, etc.) or explain what the five cascade levels represent. It is minimally sufficient, not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the nested birth-data object, fields, and precision all thoroughly documented in the schema itself. The description contributes nothing about parameters, which is acceptable at full coverage, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific dasha system and level (Shoola Pranadasha) and characterizes it as a '5-level cascade (finest grain)', which lets an agent place it among the shoola_maha/antar/pratyantar/sookshma siblings by depth. It lacks an explicit verb ('compute/calculate') and never names the siblings directly, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'finest grain' comparative cue implies when to pick this over the shallower shoola levels, but there is no explicit when-to-use, when-not-to-use, or named alternative. The agent must infer the selection rule from the level-depth wording alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shoola_pratyantarDashas: Shoola PratyantardashaCRead-onlyIdempotentInspect
Shoola Pratyantardasha: 3-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| ayanamsa | No | |
| currentMaha | No | |
| currentAntar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this is a safe, idempotent, closed-world read. The description adds genuinely useful non-annotation context: the credit cost (20 credits, Tier 2) and the '3-level cascade' scope hint. It does not, however, disclose any input prerequisites (birth data required) or what the cascade output looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded, with no wasted words. But the brevity reflects under-specification rather than disciplined concision: two lines leave the agent with almost nothing beyond the title and metadata tags.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required. But for a specialized multi-level dasha calculation in a field crowded with near-identical siblings, the definition omits both selection guidance and a description of the cascade depth/lords, leaving a real gap for correct tool routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the rich body schema already documents date, time, coordinates, ayanamsa, timezone, plus targetDate/targetTime/houseIndex/antardasaSeedOption. The description contributes nothing about parameters, which is the correct baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The definition names the specific dasha (Shoola Pratyantardasha) and adds the phrase '3-level cascade', which hints at the depth of the lord stack. However, it gives no indication of what a Shoola pratyantardasha response contains or how it differs from the many sibling tools (shoola_maha, shoola_antar, shoola_prana, shoola_sookshma, or Vimshottari variants). Purpose is identifiable but not well differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is present. With four sibling Shoola levels and dozens of other dasha systems in the tool list, the description never says when to pick pratyantar over maha/antar/prana/sookshma, or when Shoola is preferred over Vimshottari/Ashtottari.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_shoola_sookshmaDashas: Shoola SookshmadashaCRead-onlyIdempotentInspect
Shoola Sookshmadasha: 4-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| ayanamsa | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentPratyantar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint false, and openWorldHint false, so the safety profile is covered. The description adds only cost information (20 credits, Tier 2), which is useful for budgeting but does not explain computation, output depth, or any dynamic behavior beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely terse, consisting of a fragment plus two bracketed tags. While it is not rambling, it is under-specified for a tool with a complex input schema and dense sibling set, so the brevity reflects missing information rather than efficient conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover safety, and the input schema is very detailed. However, the description omits essential context for this tool's role in a large family of dasha level tools: what Shoola Sookshma dasha is, what '4-level cascade' returns, and when to pick this level over maha, antar, pratyantar, or prana. This gap makes the definition incomplete for correct tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the input schema itself provides extensive descriptions for birth data, timezone, fields, precision, etc. The tool description adds no parameter meaning at all, so the schema does the entire job. A baseline of 3 is appropriate when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title and name without a verb: 'Shoola Sookshmadasha: 4-level cascade.' It does not say what the tool computes or how it differs from sibling dasha tools such as astroway_vedic_dashas_shoola_maha, _antar, _pratyantar, or _prana. The phrase '4-level cascade' is vague and leaves the actual purpose unclear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus any alternative. The description includes only a group tag and cost tier, with no prerequisites, context, or exclusions. An agent has no basis for choosing this over the other Shoola dasha levels.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_sthira_antarDashas: Sthira AntardashaBRead-onlyIdempotentInspect
Sthira Antardasha: equal-split sub-periods of running MD at targetDate.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| ayanamsa | No | |
| currentMaha | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the billing tier ('20 credits (Tier 2)') and the algorithmic trait ('equal-split'), which is useful context beyond the annotations, but says nothing about response shape or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus two bracketed metadata tags, with zero filler. It is efficient, though arguably too terse for a tool in such a dense sibling family.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover safety. The description does pin down the dasha level, which is the key discriminator, but it omits how this level relates to its pratyantar/prana/sookshma siblings and what the 'equal-split' computation yields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents date/time/latitude/longitude, timezone semantics, houseSystem letters, and the compact-mode fields/precision params. The description names targetDate but adds no format, range, or default information beyond what the schema supplies; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-resource pairing ('Sthira Antardasha') and defines the level precisely as 'equal-split sub-periods of running MD at targetDate', which tells an agent this is the antardasha layer rather than the mahadasha itself. It does not, however, name any sibling such as astroway_vedic_dashas_sthira_pratyantar or sthira_maha to disambiguate the family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives. Given roughly 45 near-identical dasha siblings (maha/antar/pratyantar/sookshma/prana across nine dasha systems), the absence of any 'use this when you need X instead of Y' instruction is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_sthira_mahaDashas: Sthira MahadashaBRead-onlyIdempotentInspect
Sthira Dasha: Jaimini fixed rasi-dasha. Seed = sign of Brahma planet (PyJHora house.brahma: stronger of asc vs 7th → top-2 lords of 6/8/12 from stronger rasi → strongest by 6 Jaimini rasi-rules). MD walks 12 signs forward; per-sign duration 7y movable / 8y fixed / 9y dual. Sub-periods: equal 12-fold split, forward from parent. Year basis 365.256364d (sidereal year, PyJHora c…
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| ayanamsa | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description adds genuinely useful behavioral context about the computation (seed derivation, 7/8/9-year durations, 365.256364d sidereal year), but says nothing about the returned structure beyond what the output schema carries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is dense and largely front-loaded with the technique name, but it reads as a compressed technical note, is truncated mid-sentence ('PyJHora c…'), and packs multiple clauses without clear separation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich nested input schema, an output schema, and full safety annotations, the description's main remaining obligation is routing among the ~15 dasha siblings, which it does not do. It explains methodology well but leaves selection ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents body, fields, and precision thoroughly. The description adds no parameter-level meaning at all, which is acceptable given full schema coverage but earns only the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific technique: 'Sthira Dasha: Jaimini fixed rasi-dasha', with concrete computation detail (Brahma seed derivation, 12-sign walk, per-sign durations). This distinguishes it from the sibling sthira_antar/pratyantar/sookshma tools only implicitly via the 'MD' reference, so it falls short of a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many other dasha tools (vimshottari, yogini, chara, ashtottari, etc.) or versus its own sub-period siblings. The text is entirely methodology, leaving tool selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_sthira_pranaDashas: Sthira PranadashaCRead-onlyIdempotentInspect
Sthira Pranadasha: 5-level cascade (finest grain).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| ayanamsa | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentSookshma | No | |
| currentPratyantar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, covering the safety profile, so the description only needs to add context. It usefully discloses the credit cost (20 credits, Tier 2) and group, but says nothing about authentication needs or the shape of the cascade returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is two short bracketed fragments, front-loaded with the technique name, which is efficient. But at this size it omits essential context rather than being tight prose, so it reads as under-specification rather than true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and parameters are fully documented, so those burdens are lifted. Still, for one of five near-identical Sthira dasha-level tools in a catalogue of hundreds of siblings, the description gives no guidance on differentiating or interpreting the result, leaving a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data body is documented in exhaustive detail in the schema itself. The description adds no parameter meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the technique (Sthira Pranadasha) and characterizes it as a '5-level cascade (finest grain)', which hints at depth of the dasha subdivision. However, it does not distinguish this from the many close siblings such as sthira_sookshma, sthira_pratyantar, sthira_antar and sthira_maha, so an agent must already know Vedic dasha level terminology to pick correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the other four Sthira dasha levels, nor any prerequisite or context for invocation. Only 'finest grain' vaguely implies a use case, and it is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_sthira_pratyantarDashas: Sthira PratyantardashaCRead-onlyIdempotentInspect
Sthira Pratyantardasha: 3-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| ayanamsa | No | |
| currentMaha | No | |
| currentAntar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description does add non-schema behavioral context — the cost (20 credits, Tier 2) and the Vedic group tag — which is genuinely useful for budgeting, but it says nothing about what is computed or returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is two short lines with no filler and the technique name is front-loaded, but the brevity is under-specification rather than efficient density — the cost/group tags are the only content beyond the title restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is richly documented, so return values and parameter mechanics need not be explained here. What is missing is routing context: this is one of five near-identical Sthira dasha tools differing only by level, and the description gives no basis for choosing among them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested body schema is extremely detailed about birth data, timezone handling and houseSystem, so the schema does the heavy lifting. The description adds no parameter meaning of its own, which is the correct baseline of 3 when coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific technique (Sthira Pratyantardasha) and adds '3-level cascade', which does convey the subdivision depth and implicitly distinguishes it from the sthira_maha/antar/sookshma/prana siblings. However, it never states a verb or what is actually produced, so it largely restates the title plus one technical clause rather than describing an operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing says when to pick this third-level Sthira dasha over sthira_maha, sthira_antar, sthira_sookshma or sthira_prana, and no prerequisites or alternatives are named. The agent must infer selection purely from the '3-level' phrase in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_sthira_sookshmaDashas: Sthira SookshmadashaCRead-onlyIdempotentInspect
Sthira Sookshmadasha: 4-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | |
| lagna | No | |
| level | No | |
| system | No | |
| periods | No | |
| ayanamsa | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentPratyantar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful non-annotation context — the group (Vedic) and the cost (20 credits, Tier 2) — but says nothing about what the cascade returns or how deep it descends.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines with no waste, and the tool identity plus cost are front-loaded. However, the brevity is under-specification rather than efficiency: the core '4-level cascade' claim is left unexplained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema (100% coverage) and an existing output schema, the description needn't explain params or return values. But against ~45 sibling dasha variants in the same family, it fails to position the tool at all — an agent cannot tell from this text what a Sthira Sookshmadasha adds over the antar/pratyantar/maha siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the rich nested schema documents birth data, timezone handling, fields, and precision in detail. The description adds no parameter guidance, which is acceptable given the schema does the heavy lifting; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the title/name ('Sthira Sookshmadasha') and adds an opaque phrase '4-level cascade' that does not explain what the tool computes or returns. It never says this is a Vedic dasha period calculation, nor does it distinguish this level (sookshma) from the maha/antar/pratyantar/prana siblings that share the same base name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this vs. the alternative levels (antar, pratyantar, prana) or vs. other dasha systems (vimshottari, ashtottari, chara, etc.). '4-level cascade' hints at depth but gives no rule for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_tribhagi_antarDashas: Tribhagi AntardashaARead-onlyIdempotentInspect
Tribhagi Antardasha: 9 sub-periods of the running MD at targetDate. Recursive proportional split (parent_years × sub_planet_period / 40).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, closed-world, and non-destructive behavior, so the bar is lower. The description adds meaningful behavioral context not in annotations: the cost ('20 credits (Tier 2)') and the recursive calculation method. It still omits auth needs and rate limits, but the cost disclosure is practical operational transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the purpose and formula, followed by compact group/cost tags. Every phrase earns its place, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description supplies purpose, targetDate, formula, and cost, but lacks sibling routing and prerequisite context; adequate given the structured fields, though not fully self-contained for tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three top-level parameters and nested birth-data fields. The description only clarifies that targetDate anchors the running mahadasha, adding minimal meaning beyond the schema; body fields and compact-mode parameters are left entirely to structured definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific dasha type and level ('Tribhagi Antardasha'), the output scope ('9 sub-periods of the running MD at targetDate'), and the computation basis. It differentiates implicitly from maha/pratyantar/prana via 'Antardasha' and '9 sub-periods,' but does not name any sibling tool explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or alternatives are mentioned. It does not explain how this differs from sibling tools such as tribhagi_maha, tribhagi_pratyantar, tribhagi_prana, or other dasha systems like vimshottari_antar. The only contextual cue is 'at targetDate,' which implies the evaluation moment but gives no routing rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_tribhagi_mahaDashas: Tribhagi MahadashaARead-onlyIdempotentInspect
Tribhagi Dasha: 1/3-scale variant of Vimshottari (40-year cycle). Same 9-planet sequence (Ketu→Venus→Sun→Moon→Mars→Rahu→Jupiter→Saturn→Mercury) and same nakshatra-mapping rule, all periods × (1/3): Ketu 7/3, Venus 20/3, Sun 2, Moon 10/3, etc. Useful when finer-grain timing is needed within a Vimshottari-equivalent span. Returns the running cycle of 9 mahadashas from the chart'…
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so safety needs no restating. The description adds real domain behavior: the exact period lengths (Ketu 7/3, Venus 20/3, Sun 2...), the 40-year cycle, and that it returns the running cycle of 9 mahadashas, which is context the annotations cannot supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the definition, then the use case, then the return shape. The planet sequence and period fractions are somewhat dense but are the tool's core semantics; no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return structure needn't be explained, and the params are fully documented. The description covers what it computes, how it differs from Vimshottari, and its timing niche, leaving only sibling-level routing to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (body, fields, precision all documented, including the compact-mode dotted paths and precision rounding). The description adds no parameter-level detail, so the baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States precisely what is computed (Tribhagi Mahadasha periods) and anchors it against the sibling it most resembles: a 1/3-scale variant of Vimshottari with the same 9-planet sequence and nakshatra rule. An agent can distinguish it from vimshottari_maha and from the tribhagi_antar/pratyantar/prana/sookshma levels without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Useful when finer-grain timing is needed within a Vimshottari-equivalent span" gives a clear selection rationale versus the Vimshottari baseline. It stops short of naming the finer tribhagi siblings or stating when-not to use it, so it is context rather than full routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_tribhagi_pranaDashas: Tribhagi PranadashaCRead-onlyIdempotentInspect
Tribhagi Pranadasha: 5-level cascade (finest grain).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentSookshma | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description usefully adds cost (20 credits, Tier 2) and the group tag, which is real behavioral context, but says nothing about response shape, computation cost, or date-range handling beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely tight and front-loaded: the identity phrase comes first, with group and cost as bracketed metadata. Nothing is padded, though the brevity verges on under-specification for a tool with four sibling levels.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover safety, and parameters are fully documented, so the burden on the description is modest. Still, a tool sitting in a 5-tool tribhagi ladder should let an agent distinguish it from its siblings in prose, and this does so only weakly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the body schema extensively documents date/time/lat/lon, timezone handling, houseSystem letters and compact-mode fields. The description adds no parameter-level information, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description largely restates the name/title ("Tribhagi Pranadasha") and adds only one substantive phrase, "5-level cascade (finest grain)." That phrase does hint at the depth level versus the coarser tribhagi siblings (maha/antar/pratyantar/sookshma), but it never states what output the tool produces or what a pranadasha period represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is present. With five sibling levels in the tribhagi family alone, the agent gets no explicit rule for choosing prana over sookshma or pratyantar; "finest grain" is the only implicit cue and it is not framed as selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_tribhagi_pratyantarDashas: Tribhagi PratyantardashaBRead-onlyIdempotentInspect
Tribhagi Pratyantardasha: 3-level cascade (MD → AD → 9 PDs).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful operational context in the [Cost: 20 credits (Tier 2)] tag, but says nothing about the shape/nature of the result or any rate or permission constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, fully front-loaded, with the dasha structure stated first and metadata tags after. Nothing is wasted, though the extreme brevity comes at the cost of usage guidance rather than earning extra credit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and annotations cover safety, so the remaining burden is light. Still, for a specialized dasha tool sitting among four sibling levels, the absence of any guidance on level selection leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the body schema is deeply documented, so the schema carries all parameter meaning. The description adds no extra semantics for body, fields, or precision; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: 'Tribhagi Pratyantardasha: 3-level cascade (MD → AD → 9 PDs)'. An agent can tell this is the pratyantar level of the Tribhagi dasha system. However, it doesn't explicitly contrast with the sibling levels (_maha, _antar, _prana, _sookshma), so the distinction relies on the agent already knowing dasha hierarchy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no alternatives named, and no prerequisites. The description only says what the tool computes, leaving the agent to infer when this level is preferable to astroway_vedic_dashas_tribhagi_antar or _prana.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_tribhagi_sookshmaDashas: Tribhagi SookshmadashaCRead-onlyIdempotentInspect
Tribhagi Sookshmadasha: 4-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description usefully adds the group and cost (20 credits, Tier 2), but says nothing about output shape, cascade depth semantics, or any behavioral nuance beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, but it is under-specified rather than genuinely concise. The bracketed metadata lines earn their place (cost/group), yet the core sentence leaves the technique's level unclarified given the dense sibling set.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations are rich, so return-value and safety detail need not live in the description. Still, for a specialized Vedic technique with many near-identical siblings, the description is thin on how this level relates to the others, leaving selection to the name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the nested schema extensively documents date/time/coords/timezone/houseSystem plus the compact-mode fields and precision parameters. The description adds no parameter meaning, so baseline 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific technique ('Tribhagi Sookshmadasha') and adds a structural hint ('4-level cascade'), so the agent knows it is a Vedic dasha computation. However, it does not distinguish this level from its siblings (tribhagi_maha/antar/pratyantar/prana) or clarify what '4-level cascade' means relative to the sookshma level. Essentially restates the title with minimal added meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, despite a large family of sibling dasha tools at different levels. The agent must infer from the name alone whether to pick this tool over tribhagi_pratyantar or tribhagi_prana.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_vimshottari_antarDashas: Vimshottari AntardashaARead-onlyIdempotentInspect
Antardasha (sub-period) within the running Mahadasha. Identifies which MD is active at targetDate (default today UTC), then returns the 9 ADs covering that MD. Sub-period of planet Q within MD of P: years = (P.years × Q.years) / 120.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, idempotent, closed-world read, so the safety profile is covered. The description adds useful context beyond that: the default of targetDate to today UTC, the fixed cardinality of nine returned ADs, and the credit cost. It does not add richer behavioral detail (e.g. what happens when targetDate falls outside any MD), which keeps it at a solid 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the term, then the default, the return shape, and the proportional formula, followed by compact group/cost metadata. The formula is arguably decorative, but the whole thing is short and every sentence carries some signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not the description's burden, and the group/cost lines round it out. The main gap is the absence of sibling routing for the five nested dasha levels, which for this dense family of tools would help an agent pick correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is effectively 100%, with birth data and target fields heavily documented in the schema, so the baseline is 3. The description only adds the default for targetDate, which the schema does not restate, and gives no further meaning for the birth-data parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource: it returns the nine Antardashas covering the currently active Mahadasha, and defines AD as a sub-period within an MD. This clearly places it at one level of the Vimshottari hierarchy, but it never names the adjacent siblings (vimshottari_maha, vimshottari_pratyantar/sookshma/prana) to make the level choice unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the definition of the dasha level, and it helpfully states targetDate defaults to today UTC, so an agent can infer when to call it. However, there is no explicit when-to-use/when-not, no routing to the maha or pratyantar sibling for a different time resolution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_vimshottari_mahaDashas: Vimshottari MahadashaBRead-onlyIdempotentInspect
Canonical Vimshottari Mahadasha sequence: 9 planets (Ketu/Venus/Sun/Moon/Mars/Rahu/Jupiter/Saturn/Mercury), 120-year total cycle, starts from the lord of Moon's nakshatra at birth. First period is truncated by elapsed fraction within Moon's nakshatra.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered. The description adds genuine domain behavior beyond that: the cycle starts from the lord of the Moon's nakshatra, the first period is truncated by the elapsed fraction, and it carries cost/tier metadata (20 credits, Tier 2). It does not address caching or output volume, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences front-load the definitional facts, and the cost/group tags are short. Nothing is padded, though the metadata tags are structured data rather than description content and add mild clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering the safety profile and a full output schema, the return format needn't be explained, and parameters are fully covered by the schema. But against a family of several dozen near-identical dasha tools, the description gives no routing cue for the maha versus antar/pratyantar/prana/sookshma levels, which is the main completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the body parameter's nested schema already documents date/time/latitude/longitude requirements, timezone handling, ayanamsa and houseSystem constraints in detail. The description adds no parameter meaning of its own, so the baseline 3 for schema-covered params is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific system (Vimshottari Mahadasha), its 9-planet sequence, 120-year cycle, and starting rule, which is enough to tell it apart from other dasha systems like yogini_maha or ashtottari_maha. However, it never explicitly says what the tool returns (the mahadasha period timeline) nor distinguishes itself from the level-siblings vimshottari_antar/pratyantar/prana/sookshma, leaving that inference to the reader.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not guidance. It does not tell the agent to pick this for the major-period level versus the antar/pratyantar/sookshma Vimshottari variants, nor when Vimshottari is preferred over other dasha schemes. Neither exclusions nor alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_vimshottari_pranaDashas: Vimshottari PranadashaBRead-onlyIdempotentInspect
Pranadasha (5th-level Dasha, the finest grain). 5-level cascade. Each Prana sub-period is typically a few hours to a few days.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentSookshma | No | |
| currentPratyantar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, non-destructive read (readOnlyHint, idempotentHint, destructiveHint=false), so the safety profile is covered. The description adds the cascade depth and sub-period duration, plus cost metadata, but says nothing about output shape, computational load, or the fact that it needs birth data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse lines, front-loaded with the definition, with group and cost as bracketed metadata that an agent can skim. Every element earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. However, the description omits that the tool requires a full birth chart (date, time, coordinates, timezone), which is the main prerequisite for calling it, leaving that burden entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the body/fields/precision parameters are already fully documented in the schema, including the detailed birth-data and timezone semantics. The description adds nothing beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-resource pair (Vimshottari Pranadasha) and pins its place in the hierarchy as the '5th-level Dasha, the finest grain,' which separates it from sibling levels like sookshma, pratyantar, antar and maha. It does not name the closest sibling (vimshottari_sookshma) explicitly, but the level ordinal does the differentiation work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given. The duration hint ('a few hours to a few days') implies the granularity of interest, but the description never says to choose this over pratyantar or sookshma, nor what question it answers. An agent must infer selection from the level number alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_vimshottari_pratyantarDashas: Vimshottari PratyantardashaARead-onlyIdempotentInspect
Pratyantardasha (sub-sub-period) within the running Antardasha. 3-level cascade: find current MD → AD → return 9 PDs of that AD.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the description earns credit for the extra context it supplies: the 3-level cascade it performs (MD → AD → 9 PDs) and the Tier 2 cost of 20 credits. It does not disclose what happens when no target date is supplied (does it default to now?), which is the main remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with the definition first and the computation second, plus two structured metadata tags. No filler, no repetition of schema or annotation content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values need no prose; parameters are fully documented in the schema; annotations cover the safety profile. The description contributes the one thing structured fields cannot — what the tool actually computes and what it costs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — body, fields and precision are all documented in the schema, including the timezone/ayanamsa/houseSystem rules. The description adds no parameter-level meaning (e.g. how targetDate interacts with 'the running' period), so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb/resource pair ('return 9 PDs of that AD') and defines the exact period level — pratyantardasha nested inside the running antardasha. That is enough to place it among the five Vimshottari levels, but it never explicitly contrasts itself with vimshottari_antar, prana or sookshma siblings, so the agent must infer the hierarchy position from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'within the running Antardasha' tells the agent the tool is for the third tier of the currently active period, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. use _antar for the second level). Minimum viable guidance for a level-selector tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_vimshottari_sookshmaDashas: Vimshottari SookshmadashaBRead-onlyIdempotentInspect
Sookshma (4th-level Dasha) within the running Pratyantardasha. 4-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentPratyantar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description does add one operationally useful fact not in the annotations — the 20-credit Tier 2 cost — but says nothing about auth needs, output volume, or that a target date/time is what anchors the 'running' period.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short fragments, no filler, with the level definition front-loaded and metadata (group, cost) clearly separated in brackets. Trimmed near the minimum for a definition that still conveys meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a tool whose semantics hinge on 'the running' period, the description omits that targetDate/targetTime (or a defaulted now) selects which Pratyantardasha is being subdivided — a relevant gap for a 200+ sibling Vedic toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (birth-data body, fields, precision all documented with detailed constraints), so the schema carries the parameter burden. The description adds no parameter guidance of its own, which is the expected baseline 3 when structured fields already do the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource — the Sookshma (4th-level) Dasha computed within the running Pratyantardasha — and names the cascade depth, which is exactly the axis that separates it from vimshottari_maha/antar/pratyantar/prana siblings. It stops short of explicit sibling routing (e.g., 'use pratyantar for level 3'), so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to reach for the 4th level versus the shallower Vimshottari levels, and no prerequisites or input requirements are mentioned. The context of 'within the running Pratyantardasha' implies the tool depends on a prior dasha position, but this is never spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_yogini_antarDashas: Yogini AntardashaBRead-onlyIdempotentInspect
Yogini Antardasha: 8 sub-periods of the running MD at targetDate (default today UTC). Sub-period of yogini Q within MD of P: years = (P.years × Q.years) / 36.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behaviour, so the safety profile is covered. The description adds genuinely useful non-schema context — the 20-credit Tier 2 cost and the concrete period-length formula — but says nothing about response size, ordering, or breakdown behaviour.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact fragments: identity, default, formula, followed by group and cost tags. Front-loaded and free of filler, though the formula sentence is terse enough to require domain knowledge to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a 100%-covered schema and an output schema present, the description need not explain return values. It covers the default date, the computation model, and cost, leaving only the level-vs-sibling routing implicit, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the birth-data object, targetDate/targetTime/targetTzOffset, fields and precision are all documented downstream. The description reinforces only targetDate's today-UTC default; baseline 3 applies when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb/resource: it returns the 8 Yogini antardasha sub-periods of the running mahadasha at targetDate, and the formula clarifies what an antardasha is. It is distinguishable from the yogini_maha sibling by the 'sub-periods of the running MD' framing, but it never names the neighbouring levels (maha/pratyantar/prana/sookshma) to make the routing explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only practical guidance is that targetDate defaults to today UTC. There is no statement of when to pick this depth over yogini_maha or yogini_pratyantar, and no prerequisites or exclusions are given, so the agent must infer the level hierarchy from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_yogini_mahaDashas: Yogini MahadashaBRead-onlyIdempotentInspect
36-year Yogini Dasha. 8 yoginis (Mangala/Pingala/Dhanya/Bhramari/Bhadrika/Ulka/Siddha/Sankata) ruled by Moon/Sun/Jupiter/Mars/Mercury/Saturn/Venus/Rahu with periods 1/2/3/4/5/6/7/8 (total 36). Starts from yogini-of-Moon-nakshatra at birth, first MD truncated by elapsed nakshatra fraction.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful context — the 20-credit Tier 2 cost and the exact algorithmic rule (start from yogini of Moon's nakshatra, first MD truncated by elapsed fraction) — but says nothing about auth, rate limits, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the essential fact (36-year cycle) and then compact enumerations of yoginis, rulers and periods. The [Group]/[Cost] tags are boilerplate but short; every sentence carries domain information without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the input schema fully documents birth data, fields and precision. The one gap is sibling differentiation across the four other Yogini levels, which leaves an agent guessing which endpoint matches a requested depth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with body, fields and precision all documented in the schema itself (including the detailed birth-data description). The description adds no parameter-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific system (36-year Yogini Dasha) and details its structure — 8 yoginis, their rulers, periods, and starting rule — so an agent can tell it computes the Yogini major-period framework. It never explicitly distinguishes itself from the four sibling yogini levels (antar/pratyantar/prana/sookshma), so the mahadasha scope is only implied by the name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not guidance is given. With siblings astroway_vedic_dashas_yogini_antar, _pratyantar, _prana and _sookshma in the catalog, the description should say this returns the major (mahadasha) level and route sub-period queries elsewhere, but it offers nothing on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_yogini_pranaDashas: Yogini PranadashaCRead-onlyIdempotentInspect
Yogini Pranadasha: 5-level cascade (finest grain).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentSookshma | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds the credit cost (20 credits, Tier 2), which is genuine behavioral context an agent needs for budgeting, but says nothing about output size, time span, or latency for this deepest cascade level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One line plus two bracketed tags — front-loaded and free of filler. It is efficient, though the terse phrasing leans toward under-specification rather than optimal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover safety. But for a deeply specialized Vedic tool in a family of five sibling dasha levels, the description omits what the prana grain represents, its time scale, and how it relates to the other Yogini levels — the agent cannot confidently choose or interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the nested body schema is exceptionally detailed (timezone handling, houseSystem letters, rejected short forms). The description adds no parameter meaning of its own, so the baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific dasha system (Yogini) and its level (Prana), and 'finest grain' hints at how it differs from the sibling _maha/_antar/_pratyantar/_sookshma variants. However, it supplies no verb (compute/return) and '5-level cascade' is cryptic terminology an agent cannot decode without outside knowledge of the Yogini taxonomy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the four sibling Yogini levels or when the finest prana grain is preferable to sookshma or pratyantar. The agent gets only a level label and cost, nothing about selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_yogini_pratyantarDashas: Yogini PratyantardashaBRead-onlyIdempotentInspect
Yogini Pratyantardasha: 3-level cascade (MD → AD → 8 PDs).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds the credit cost (20 credits, Tier 2) and the output shape (3-level cascade, 8 PDs per AD), which is genuinely useful behavior the annotations don't carry, but it stops short of any deeper behavioral context such as latency or period coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the technique and its cascade shape, followed by compact group/cost tags. Nothing is wasted, though the terse notation 'MD → AD → 8 PDs' assumes the reader knows the abbreviations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full schema coverage, the description needn't explain returns or params. It is minimally adequate, but for a specialized Vedic dasha tool sitting among five near-identical Yogini siblings, the absence of any routing or prerequisite guidance leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data object, fields and precision params are all documented in-schema (with targetDate/targetTime for period selection). The description adds nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific technique (Yogini Pratyantardasha) and the structural depth it returns (MD → AD → 8 PDs), which implicitly places it at the 3rd level versus the sibling _maha, _antar, _prana and _sookshma tools. However, it never names those siblings or explicitly says 'this is the pratyantar (3rd) level; use _maha for the top level', so the differentiation requires the agent to already know the dasha hierarchy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance and never mentions the four sibling Yogini dasha tools it must be chosen against. Group and cost metadata are the only extra framing provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_dashas_yogini_sookshmaDashas: Yogini SookshmadashaCRead-onlyIdempotentInspect
Yogini Sookshmadasha: 4-level cascade.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| level | No | |
| system | No | |
| initial | No | |
| periods | No | |
| ayanamsa | No | |
| nakshatra | No | |
| currentMaha | No | |
| currentAntar | No | |
| currentPratyantar | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds billing context (20 credits, Tier 2) and a structural note about depth, but omits anything about return shape or constraints. Given the annotation coverage, this is a modest but real addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded clause plus bracketed metadata; nothing is padded. It is efficient, though the extreme brevity is under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a dasha-calculation tool sitting in a very large, confusable family of Yogini and other dasha endpoints, the description omits the level semantics ('4-level cascade' is never unpacked) and any sibling differentiation. The rich schema and output schema cover I/O, but the conceptual gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested body, fields, and precision parameters are fully documented in the schema itself. The description adds no parameter meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names the resource (Yogini Sookshmadasha) and adds a structural hint ('4-level cascade'), which is more than a bare restatement of the title. However, it never explains what distinguishes this from the many sibling dasha tools (yogini_maha, yogini_antar, yogini_pratyantar, yogini_prana), so an agent cannot tell which Yogini level it needs without outside knowledge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. The description does not say when an agent should pick sookshma depth versus the maha/antar/pratyantar/prana siblings, leaving routing entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_kp_fullDoshas: KP full summaryARead-onlyIdempotentInspect
Composite KP dosha summary: manglik + kalasarpa + pitra + kemadruma + Sade-Sati pointer. (Sade Sati requires an explicit targetDate; call /sade-sati separately.)
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pitra | No | |
| school | No | |
| manglik | No | |
| kalasarpa | No | |
| kemadruma | No | |
| lagnaSign | No | |
| disclaimer | No | |
| sadeSatiNote | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds real behavioral value: the cost tier (20 credits, Tier 2) and the explicit limitation that Sade Sati is only a pointer here, not computed. It omits any note on output shape, though an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus metadata tags. The composition list comes first, the Sade-Sati caveat second, and there is no filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and annotations relieve the description of explaining return values and safety, and it covers composition, cost, and the Sade-Sati exclusion. But for a 15-parameter tool at 33% schema coverage, the complete absence of parameter guidance leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate for undocumented inputs. It says nothing about date/time/latitude/longitude, ayanamsa, house system, or the compact-mode fields, leaving most parameters explained only by bare types or not at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific composite resource (KP dosha summary) and enumerates exactly what it aggregates: manglik, kalasarpa, pitra, kemadruma, and a Sade-Sati pointer. This distinguishes it from the sibling component tools (astroway_vedic_doshas_kp_manglik, _kalasarpa, _pitra, _kemadruma, _sade_sati) without needing the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent that Sade Sati requires an explicit targetDate and must be called via /sade-sati separately, which is actionable routing guidance. It does not, however, state when to prefer this composite over the four individual dosha endpoints it bundles, leaving that inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_kp_kalasarpaDoshas: KP KalasarpaCRead-onlyIdempotentInspect
Kalasarpa dosha with KP Rahu sub-lord chain attached.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| school | No | |
| details | No | |
| partial | No | |
| present | No | |
| subType | No | |
| severity | No | |
| lagnaSign | No | |
| disclaimer | No | |
| kpRahuChain | No | |
| affectedHouses | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful non-annotation context — the credit cost (20 credits, Tier 2) and the Vedic grouping — but says nothing about what the computation consumes or how heavy it is. Adequate given the annotation coverage, but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tightly front-loaded: the core statement comes first, followed by compact group/cost metadata tags. No wasted words, though the extreme brevity is arguably under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart-calculation tool with no annotations covering inputs, the description is too thin: it does not say what birth data is needed, that the result is KP-flavored (implying ayanamsa choice), or what distinguishes its output from the other kalsarpa tools. An output schema exists, so return values need not be described, but the invocation context is largely missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a heavy burden and adds nothing: it does not explain that date/time/latitude/longitude are required birth data, nor does it hint that ayanamsa should be set to 'kp' for a KP-consistent result. The one-line text does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource: the Kalasarpa dosha computed in the KP (Krishnamurti) system, including the Rahu sub-lord chain. The 'KP' qualifier plus the tool name distinguish it from the Lal Kitab (astroway_vedic_doshas_lal_kitab_kalsarpa) and Parashara (astroway_vedic_doshas_parashara_kaal_sarp) variants of the same dosha, though the description itself never states the verb 'compute/return' explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites (birth date/time/coordinates required), and no mention of the sibling dosha tools or the KP full-chart tool. An agent must infer from the name alone which of the several kalsarpa variants to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_kp_kemadrumaDoshas: KP KemadrumaARead-onlyIdempotentInspect
Kemadruma yoga: no planet (excl. Sun, Rahu, Ketu) in 2nd or 12th from Moon. Moon-isolation flag, emotional/financial volatility indicator. KP Moon sub-lord chain attached.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| school | No | |
| details | No | |
| present | No | |
| moonSign | No | |
| lagnaSign | No | |
| disclaimer | No | |
| kpMoonChain | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new operational context: the credit cost (20 credits, Tier 2), the interpretation semantics of the returned flag, and the fact that a KP Moon sub-lord chain accompanies the result. It stops short of noting any limits on chart input or result caching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences front-loaded with the defining rule, followed by output semantics and attached data, then the group/cost tags. Every clause carries information and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and annotations carry the safety profile, so the remaining burden is light. The main gaps are routing against kp_full and any guidance for the shared 15-parameter birth-data input, but the tool is otherwise well enough specified to invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes nothing about any of them — not even that the required date/time/latitude/longitude define the natal chart being tested. Nothing hints that ayanamsa should be KP-flavored for a KP dosha, leaving the agent to infer it from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact yoga being evaluated and spells out its detection rule (no planet other than Sun/Rahu/Ketu in the 2nd or 12th from Moon), so an agent knows precisely what is computed. It also states what the output flag means (Moon-isolation, emotional/financial volatility) and what extra payload is attached (KP Moon sub-lord chain), which separates it from siblings like kp_manglik or kp_kalasarpa.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus alternatives — notably the sibling astroway_vedic_doshas_kp_full, which likely returns this dosha alongside others, or the Parashara/Lal Kitab Kemadruma variants. No prerequisites, no exclusions, and no trigger conditions beyond the astrological definition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_kp_manglikDoshas: KP ManglikBRead-onlyIdempotentInspect
Manglik dosha with KP sub-lord precision attached. Sub-lord chain of Mars added for transit-trigger analysis.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| school | No | |
| details | No | |
| present | No | |
| severity | No | |
| kpSubLord | No | |
| lagnaSign | No | |
| disclaimer | No | |
| affectedHouses | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, idempotent, non-destructive read, so the safety profile is covered. The description adds useful content context (what the sub-lord chain is for) and a credit cost, but says nothing about auth, rate limits, or response shape beyond the implied Mars sub-lord chain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the purpose front-loaded, followed by compact group/cost metadata. No filler, though the value proposition could be sharpened against siblings in the same space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover safety. However, for a 15-parameter tool with low schema coverage, the definition leaves parameter selection and sibling routing unexplained, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters at only 33% schema description coverage, the description must carry weight but adds zero parameter guidance. Required birth-time and geo inputs (date, time, latitude, longitude) and ambiguous toggles like cosmogram and zodiacType are undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (Manglik dosha) and its distinguishing feature (KP sub-lord precision, Mars sub-lord chain), which separates it from the Parashara and Lal Kitab manglik siblings at least by implication via the name. It stops short of explicitly contrasting with those sibling systems, so an agent must infer the school from the tool name rather than the prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It hints at a use case (transit-trigger analysis) but gives no explicit when-to-use rule and never names the alternative manglik tools (lal_kitab_manglik, parashara_mangal, manglik_check). An agent has no guidance on selecting this over its near-duplicate siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_kp_pitraDoshas: KP PitraBRead-onlyIdempotentInspect
Pitra dosha (Sun affliction) with KP Sun sub-lord chain.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| school | No | |
| details | No | |
| present | No | |
| severity | No | |
| lagnaSign | No | |
| disclaimer | No | |
| kpSunChain | No | |
| affectedHouses | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful operational context that annotations cannot express — the 20-credit Tier 2 cost — but says nothing about the required inputs or what the computation assumes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines with the deliverable front-loaded and the cost/group metadata clearly bracketed at the end. Nothing is padded, though it is terse to the point of under-specification rather than efficient brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. What is missing is the input contract (required date/time/lat/long) and any differentiation from the Parashara, Lal Kitab, and KP-full Pitra siblings — a real gap in a family of near-identical dosha tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (15 parameters, most of them undocumented in the schema), and the description supplies no parameter information at all — no required birth data, no mention of the ayanamsa/house-system choices that materially change a KP dosha result. With low coverage the description is expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific deliverable — Pitra dosha computed via the KP Sun sub-lord chain — and the parenthetical '(Sun affliction)' clarifies the term for an agent that may not know it. It does not, however, distinguish itself from the many sibling dosha tools (parashara_pitru, lal_kitab_pitra, kp_full), so an agent must infer the KP-specific angle from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites (birth date, time, and coordinates are required), and no mention of the alternative Pitra tools that exist. The only operational note is the group tag and credit cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_kp_sade_satiDoshas: KP Sade SatiARead-onlyIdempotentInspect
Sade Sati state at targetDate: Saturn transit through 12th/1st/2nd from natal Moon (7.5y total). Returns the active phase with KP Saturn sub-lord chain.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the target date for the Sade Sati phase. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| phase | No | |
| school | No | |
| present | No | |
| moonSign | No | |
| lagnaSign | No | |
| disclaimer | No | |
| transitDate | No | |
| kpSaturnChain | No | |
| transitSaturnSign | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful context about what is returned (active phase plus KP Saturn sub-lord chain) and the cost tier, but says nothing about rate limits, credit-burn implications, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences plus bracketed metadata, front-loaded with the core computation before the return description. Every element earns its place; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be spelled out, and annotations cover safety. The description conveys the trigger condition, scope, and output character adequately, though it omits that full birth data (date, time, coordinates) is required input — a small gap given the complex nested schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the body/fields/precision parameters are already fully documented in the schema. The description names targetDate but adds no format or semantic detail beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — it returns the Sade Sati state for a given targetDate — and defines the phenomenon precisely (Saturn transiting 12th/1st/2nd from natal Moon over 7.5 years). This is clearly distinct from sibling dosha tools such as kp_manglik or kp_kemadruma, which cover different conditions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage via 'at targetDate' and the natal-Moon dependency, so an agent can infer it's for Sade Sati assessment at a moment. However, it never states when to use this versus the other KP dosha tools or the full dosha suite, and offers no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_lal_kitab_fullDoshas: Lal Kitab full summaryBRead-onlyIdempotentInspect
Composite Lal Kitab dosha summary: manglik + kalsarpa + pitra + shrapit + 6 Rin + kismat score.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rins | No | |
| pitra | No | |
| kismat | No | |
| school | No | |
| manglik | No | |
| shrapit | No | |
| kalsarpa | No | |
| lagnaSign | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds genuinely useful non-schema context — the billing tier and credit cost (20 credits, Tier 2) and the Vedic grouping — but says nothing about computation time, auth requirements, or caching behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines: the payload description first, then structured group/cost metadata. Nothing is wasted and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the component list gives a good sense of scope. But for a 15-parameter, 33%-documented tool the description leaves the invocation contract and the relationship to the five individual dosha tools unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate — and it adds zero parameter guidance, not even confirming that date/time/latitude/longitude are the required birth-data inputs. An agent must fall back entirely on the partially documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific deliverable — a composite Lal Kitab dosha summary — and enumerates its contents (manglik, kalsarpa, pitra, shrapit, 6 Rin, kismat score), so an agent knows exactly what it produces. It does not, however, explicitly distinguish itself from the per-dosha siblings (lal_kitab_manglik, lal_kitab_rin, etc.) that cover the same components individually.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. The 'full' suffix and the component list imply it is the aggregate version, but the description never tells the agent to prefer this over the individual lal_kitab_* dosha tools, or when one is preferable to the other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_lal_kitab_kalsarpaDoshas: Lal Kitab KalsarpaCRead-onlyIdempotentInspect
Kalsarpa dosha (Rahu-Ketu encirclement) with Lal Kitab remedies.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| remedy | No | |
| present | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds the billing context (20 credits, Tier 2), which is genuinely useful for cost-aware planning, but says nothing about what the output contains or how the dosha is derived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short bracketed lines with no filler; the subject is front-loaded. The Group/Cost tags are metadata rather than prose, so the payload is minimal but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, but for a 15-parameter tool with weak schema coverage the description should at least say which birth inputs are mandatory and how this differs from the Parashara/KP Kalsarpa siblings. It leaves those gaps open.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Fifteen parameters with only 33% schema description coverage, and the description contributes zero parameter detail. Required birth data (date, time, latitude, longitude) and the meaningful ayanamsa/houseSystem/timezone choices are left entirely to the schema, which only partially documents them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific dosha (Kalsarpa, i.e. Rahu-Ketu encirclement) and its interpretive tradition (Lal Kitab remedies), which distinguishes it from the sibling Parashara kaal_sarp and KP kalasarpa variants. There is no explicit verb (compute/report), but the resource and school are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the adjacent school-specific Kalsarpa siblings (Parashara, KP) that an agent could confuse it with. The reader must infer selection criteria entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_lal_kitab_manglikDoshas: Lal Kitab ManglikCRead-onlyIdempotentInspect
Manglik dosha per Lal Kitab: Mars in 1/4/7/8/12 with LK-specific cancellation (Mars in Aries/Scorpio/Gemini cancels).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mars | No | |
| dosha | No | |
| remedy | No | |
| school | No | |
| present | No | |
| lagnaSign | No | |
| disclaimer | No | |
| cancellation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is fully covered. The description adds the Lal Kitab computational rule and the credit cost (20 credits, Tier 2), which is useful context, but says nothing about return shape, latency, or error behavior for the requested chart.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Roughly two lines, front-loaded with the authoritative rule before the metadata tags. Nothing is wasted, though the [Group]/[Cost] tags sit in the same block a reader scans for usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 4-required tool with low schema description coverage, the description omits everything an agent needs to invoke it correctly beyond the domain concept. An output schema exists, so return values need not be explained, but input selection (ayanamsa, house system, timezone vs offset) is left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a compensation burden it does not meet: it mentions no parameter at all, not even which four are required or how date/time/lat/long interact. The schema does define enums and some descriptions, but the two aliased ayanamsa fields and the zodiac/house-system choice are left entirely to the caller.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: computes Manglik dosha under the Lal Kitab school, and even gives the operative rule (Mars in 1/4/7/8/12 with LK cancellations). An agent can distinguish it from the KP and Parashara manglik siblings by the named school, though the description never explicitly names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this tool over astroway_vedic_doshas_kp_manglik, astroway_vedic_doshas_parashara_mangal, or astroway_vedic_compatibility_manglik_check, and no prerequisites beyond the implicit birth data. The only routing cue is the school name embedded in the purpose sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_lal_kitab_pitraDoshas: Lal Kitab PitraCRead-onlyIdempotentInspect
Pitri Rin (paternal-debt dosha) per Lal Kitab patterns. Triggers + remedy.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| remedy | No | |
| school | No | |
| present | No | |
| triggers | No | |
| lagnaSign | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only that the response contains triggers and a remedy, which is a modest behavioral detail and largely duplicates what the output schema would show anyway.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with the purpose front-loaded and no filler; the trailing group/cost metadata is boilerplate but genuinely useful to a caller weighing a 20-credit operation. Nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool sitting in a dense cluster of near-identical dosha tools, the description leaves the agent without the usage or disambiguation guidance it needs to pick this one over lal_kitab_rin, parashara_pitru, or kp_pitra. The output schema and annotations cover returns and safety, but selection context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries the burden of compensating for the undocumented ones — and it says nothing about any parameter. Required date/time/latitude/longitude are self-evident, but ayanamsa, houseSystem, zodiacType, cosmogram and the compact-mode options receive no clarification beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource — Pitri Rin (paternal-debt dosha) — and scopes it to 'Lal Kitab patterns', which separates it from astroway_vedic_doshas_parashara_pitru and astroway_vedic_doshas_kp_pitra. It also states the deliverable ('triggers + remedy'). It stops short of a verb and does not clarify its relationship to the very close sibling astroway_vedic_doshas_lal_kitab_rin.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement, no prerequisites, and no named alternative. The agent must infer that this is the Lal Kitab-specific Pitra tool versus the Parashara/KP variants purely from the phrase 'per Lal Kitab patterns'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_lal_kitab_rinDoshas: Lal Kitab Rin (6 ancestral debts)BRead-onlyIdempotentInspect
Aggregate of all 6 Rin (Pitri/Stree/Kanya/Atma/Rishi/Daiva) with active count. Same engine as /lal-kitab/debts but framed as dosha.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rins | No | |
| dosha | No | |
| school | No | |
| lagnaSign | No | |
| disclaimer | No | |
| activeCount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds that output is an aggregate of all six debts with an active count plus a 20-credit cost, which is genuinely useful, but says nothing about permissions, rate limits, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the resource definition before the sibling comparison; the bracketed Group and Cost metadata is compact. No wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations carry the safety profile. However, for a 15-param tool with low schema coverage, the description leaves the parameter surface entirely undocumented, which is a real gap even if the inputs are conventional astrology fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description must compensate and does not. It mentions no parameter at all, not even that date/time/latitude/longitude are required or how the shared ayanamsa/timezone options affect the result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (all 6 Rin debts, listing each: Pitri/Stree/Kanya/Atma/Rishi/Daiva) and the scope (aggregate with active count). The phrase 'Aggregate of all 6' implicitly distinguishes it from the single-dosha siblings like lal_kitab_pitra and lal_kitab_manglik, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Same engine as /lal-kitab/debts but framed as dosha' gives a usable selection cue (use when a dosha framing is wanted). It stops short of stating when to prefer this over the individual Lal Kitab dosha tools or the lal_kitab_debts endpoint, leaving that inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_lal_kitab_shrapitDoshas: Lal Kitab ShrapitBRead-onlyIdempotentInspect
Shrapit dosha (ancestral curse) per LK: Saturn conjunct Rahu/Ketu. Specific remedies provided.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| remedy | No | |
| details | No | |
| present | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the detection criterion and the fact that remedies are included, plus a cost tag, but does not describe output shape or any auth/rate context beyond the credit note.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences front-load the key concept and are followed by compact group/cost tags. Every element is meaningful and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a 15-parameter chart computation the description is minimally adequate: it conveys what the tool computes but leaves parameter usage and sibling routing entirely to the schema and naming.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds nothing about any of the 15 parameters. With schema description coverage at only 33% and the four required params (date, time, latitude, longitude) carrying no schema descriptions, the description fails to compensate for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it computes the Shrapit dosha under the Lal Kitab system, defines the criterion (Saturn conjunct Rahu/Ketu), and notes remedies are returned. The 'per LK' qualifier helps distinguish it from the Parashara and KP shrapit siblings, though it does not name those alternatives directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to choose this tool over the many sibling dosha tools (lal_kitab_full, lal_kitab_pitra, parashara_shrapit, kp_full, etc.). Usage is only inferable from the name and the definitional sentence; no prerequisites or routing guidance are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_parashara_fullDoshas: Parashara full reportARead-onlyIdempotentInspect
Combined Parashara dosha report: runs all 6 detectors (Mangal/Kaal Sarp/Pitru/Shrapit/Grahan/Guru-Chandal).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pitru | No | |
| grahan | No | |
| mangal | No | |
| school | No | |
| shrapit | No | |
| kaalSarp | No | |
| lagnaSign | No | |
| guruChandal | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds the credit cost (20 credits, Tier 2) and the group tag, which are useful operational context, but says nothing about the report's structure, auth needs, or limits beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the core purpose front-loaded, followed by group and cost tags. No filler, no repetition of the title or name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and the annotations cover safety. For a 15-param aggregate tool the description sufficiently conveys scope (the six detectors), though it leaves the parameter space entirely undocumented, which is the one remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate for the undocumented ones, and it does not mention a single parameter. The four required inputs (date, time, latitude, longitude) and the many optional chart-config params are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Combined Parashara dosha report') and enumerates exactly what it aggregates: all 6 detectors (Mangal/Kaal Sarp/Pitru/Shrapit/Grahan/Guru-Chandal). This lets an agent distinguish it from the sibling single-detector tools like astroway_vedic_doshas_parashara_mangal without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'runs all 6 detectors' clearly signals this is the aggregate option versus the individual parashara_* detector siblings, giving an agent clear context for selection. However, it never states an explicit when-to-use/when-not rule or names an alternative tool, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_parashara_grahanDoshas: Grahan (eclipse-like)BRead-onlyIdempotentInspect
Grahan Dosha: Sun + Rahu/Ketu or Moon + Rahu/Ketu conjunct (eclipse-mimicking position). Up to 4 sub-patterns possible (Surya-Rahu / Surya-Ketu / Chandra-Rahu / Chandra-Ketu).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| school | No | |
| details | No | |
| present | No | |
| severity | No | |
| lagnaSign | No | |
| affectedHouses | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is low. The description adds genuinely useful operational context in the form of group and credit cost (20 credits, Tier 2), which helps an agent weigh invocation. Beyond cost, it does not disclose auth needs, rate limits, or computational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the dosha definition and structured as a compact two-sentence block plus tagged metadata. No filler. The group and cost tags are metadata rather than prose, which is acceptable but slightly dilutes pure conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover safety. However, for a 15-parameter tool with low schema coverage, the description does not establish that a full birth chart (date/time/lat/long plus ayanamsa/house-system settings) is required input, nor does it position the tool within the dosha-reporting family. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description is expected to compensate for undocumented parameters. It contributes nothing about the 15 inputs (date, time, latitude, longitude, city, ayanamsa, houseSystem, etc.), leaving several parameters unexplained in both schema and description. The inputs are conventional astrological chart data, but the description does not connect them to the computation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific dosha (Grahan) and defines the exact planetary condition that triggers it (Sun/Moon conjunct Rahu/Ketu), plus the sub-patterns. This is a clear verb-implied resource, though the tool's action (compute/evaluate for a given chart) is inferred rather than stated. It distinguishes itself from the parashara_* dosha siblings by naming the distinct pattern it detects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. The description never explains to use this for Grahan specifically versus parashara_full or the other parashara dosha tools (guru_chandal, kaal_sarp, mangal, pitru, shrapit), nor does it state prerequisites. Usage is only implied by the dosha name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_parashara_guru_chandalDoshas: Guru-ChandalCRead-onlyIdempotentInspect
Guru-Chandal Dosha: Jupiter + Rahu or Jupiter + Ketu conjunct. Wisdom-confusion affliction.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| school | No | |
| details | No | |
| present | No | |
| severity | No | |
| lagnaSign | No | |
| affectedHouses | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds a genuinely useful non-schema fact — the 20-credit Tier 2 cost — but says nothing about return behavior (e.g., what happens when the conjunction is absent), which is the natural disclosure gap here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is appropriately small and front-loaded, leading with the dosha definition before the metadata tags. The cost/group tags are useful rather than filler; the only shortfall is that the brevity comes at the expense of the usage and parameter detail the tool needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the definition is still thin for a 15-parameter chart tool: it omits prerequisites (it clearly needs birth data), any hint about output when the dosha is absent, and any relation to the surrounding parashara_* dosha family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description must compensate for undocumented inputs, yet it mentions none of them. The required birth-data parameters (date, time, latitude, longitude) and enums like ayanamsa/houseSystem are left entirely to the schema, so the description adds no parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific dosha this tool concerns (Guru-Chandal = Jupiter conjunct Rahu or Ketu) and its interpretive meaning, which cleanly distinguishes it from sibling dosha tools like parashara_mangal or parashara_pitru. It never uses an action verb ('compute', 'check') to say what the tool does to a chart, but the resource is unambiguously identified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool versus the sibling dosha endpoints (parashara_full, parashara_grahan, etc.), no prerequisites, and no indication of what input the caller must supply. The agent must infer usage entirely from the name and group tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_parashara_kaal_sarpDoshas: Kaal SarpBRead-onlyIdempotentInspect
Kaal Sarp Dosha: all 7 classical grahas on one side of the Rahu-Ketu axis. Returns 12 sub-types by Rahu house position (Anant=1H, Kulik=2H, Vasuki=3H, Shankhpal=4H, Padma=5H, Mahapadma=6H, Takshak=7H, Karkotak=8H, Shankhachud=9H, Ghatak=10H, Vishdhar=11H, Sheshnag=12H). Also partial: true flag when 6 of 7 grahas on one side.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| school | No | |
| details | No | |
| partial | No | |
| present | No | |
| subType | No | |
| severity | No | |
| affectedHouses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe, idempotent, closed-world read profile, so the description's job is to add domain behavior — which it does by disclosing exactly what the response contains (12 named sub-types and a `partial: true` condition at 6-of-7 grahas) and by flagging the 20-credit Tier 2 cost. It stops there: no note on whether other doshas are also checked, no computation caveats, no auth context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the definition, then the output contract, then cost metadata — no filler text. The inline 12-name-to-house mapping is long but each entry carries information, so it earns its space even if a list format would read faster.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the description's return-value explanation is therefore a bonus rather than a necessity, and annotations carry the safety profile. The weak side is the input contract: a 15-parameter chart calculation with 33% schema coverage leaves the agent without any description-side guidance on required birth data or correct Vedic settings, which is a real completeness gap for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description says nothing about inputs at all — not the four required birth-data fields, not ayanamsa/houseSystem expectations for a Vedic dosha calculation, and not how `fields`/`precision` compact-mode interact with the subtype output. It does not compensate for the coverage gap, so the baseline for a sparse schema is not met.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a precise computational definition ('all 7 classical grahas on one side of the Rahu-Ketu axis') and enumerates the exact output taxonomy (12 sub-types keyed to Rahu's house, plus the partial flag). That is far more specific than the bare title. It does not, however, distinguish this Parashara variant from close siblings such as astroway_vedic_doshas_kp_kalasarpa or astroway_vedic_doshas_lal_kitab_kalsarpa, which compute the same dosha under different systems.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention that this is the Parashara-school version of a dosha also offered in KP and Lal Kitab flavors, and no indication of prerequisites (it silently requires birth date/time/coordinates). The reader must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_parashara_mangalDoshas: Mangal (Mars affliction)BRead-onlyIdempotentInspect
Mangal Dosha detection with school selection (school body param: strict BPHS verse 1/4/7/8/12 from Lagna only; north 1/2/4/7/8/12 from Lagna+Moon; south 1/2/4/7/8/12 from Lagna+Moon+Venus, default). Canonical sign-based cancellations applied: Mars in own (Aries/Scorpio) or exalted (Capricorn) sign cancels; per-house cancellations (house 2: Gemini/Virgo; house 4: Taurus…
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| school | No | |
| details | No | |
| present | No | |
| severity | No | |
| lagnaSign | No | |
| mangalSchool | No | |
| affectedHouses | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover readOnly/idempotent safety. The description adds substantial domain behavior: school-dependent rules and canonical cancellation logic (own/exalted signs, per-house cancellations), which is valuable context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads the tool purpose before school and cancellation details. It is lengthy but information-rich, though the truncation prevents full assessment.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, return values needn't be explained, and the description covers the core dosha logic. However, for a 15-param tool with only 33% schema coverage, it omits most parameter semantics and includes a mismatched `school` param, leaving notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33% across 15 params. The description details a `school` body param that is absent from the input schema, and does not explain the required date/time/latitude/longitude or other schema parameters, so it fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States it detects Mangal Dosha and explains school selection, a specific verb+resource. It does not explicitly differentiate from sibling manglik tools (e.g., kp_manglik, manglik_check), but the Parashara/Mangal scope is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or alternatives are given. It explains school options but not when this tool should be chosen over other Mangal/Manglik tools in the catalog.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_parashara_pitruDoshas: Pitru (ancestral)BRead-onlyIdempotentInspect
Pitru Dosha: Sun + Rahu or Sun + Saturn conjunct, plus Sun in 9th house as auxiliary marker. Note: BPHS lists 14 patterns of Pitru Dosha; this endpoint detects 3 most-cited conjunction patterns. Full canonical detection (9th-lord placement, malefic in 9H) deferred to Phase Q.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| school | No | |
| details | No | |
| present | No | |
| severity | No | |
| lagnaSign | No | |
| affectedHouses | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuinely useful behavioral context: it explicitly discloses that only 3 of BPHS's 14 patterns are detected, which tells the agent the result may be a false negative. It also surfaces the 20-credit Tier 2 cost. Return shape is not described, but an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Roughly three sentences, front-loaded with the detection rule before the caveat. The 'deferred to Phase Q' phrasing is internal-sounding but short, and the group/cost tags are compact. Little waste overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the detection-scope caveat covers the biggest risk. Still missing: how this differs from the other Pitru endpoints and any hint that full birth data is required, which matters for a 15-parameter compute tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter guidance whatsoever, despite 15 parameters and only 33% schema description coverage. Required inputs (date, time, latitude, longitude) and the numerous optional tuning fields are left entirely to the schema, and the birth-data requirement is never mentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete detection rule: Pitru Dosha as Sun conjunct Rahu or Saturn, plus Sun in 9H as an auxiliary marker. That is a specific verb/resource an agent can act on. It does not, however, distinguish this endpoint from close siblings like astroway_vedic_doshas_parashara_full or astroway_vedic_doshas_lal_kitab_pitra, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implicitly scopes usage by naming what is detected (3 conjunction patterns) and what is deferred (9th-lord placement, malefic in 9H). That tells the agent this endpoint is a partial detector, but it never says when to reach for it versus parashara_full or the KP/Lal Kitab Pitru variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_doshas_parashara_shrapitDoshas: Shrapit (curse)CRead-onlyIdempotentInspect
Shrapit Dosha: Saturn + Rahu conjunct in any sign. Signifies inherited curse/blockage in life.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dosha | No | |
| school | No | |
| details | No | |
| present | No | |
| severity | No | |
| lagnaSign | No | |
| affectedHouses | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive behavior, so safety is covered. The description adds genuinely new context via the cost line (20 credits, Tier 2) and the interpretive meaning of the finding, but says nothing about the return shape or that a birth chart is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight lines plus bracketed metadata tags; the definition is front-loaded and every element serves a purpose. No padding or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with low schema coverage, the description omits that a full birth chart (date, time, coordinates) is needed and mentions no defaults. The output schema exists, so return values need not be explained, but the input side is left thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description carries extra burden - and it supplies none. Required inputs (date, time, latitude, longitude) and options like ayanamsa, houseSystem, and zodiacType are never mentioned in prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the astrological condition (Saturn + Rahu conjunct) and the tool name pins the specific dosha among many Parashara siblings (grahan, guru_chandal, kaal_sarp, mangal, pitru). However, it never states the operation - that it computes/detects this dosha from birth data - leaving the agent to infer the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no routing to alternatives such as astroway_vedic_doshas_parashara_full or the Lal Kitab Shrapit variant. The agent gets no signal about when this tool is the right pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_gemstonesGemstone (ratna) recommendationARead-onlyIdempotentInspect
Which of the nine gems to wear, from the sidereal lagna. Two schools are implemented: lagna-lord (default) prescribes the gems of the 1st, 9th and 5th lords as the life, lucky and benefic stones; functional-benefic classifies every graha by the houses it owns from the lagna, prescribes only for functional benefics led by the yogakaraka, and names the functional malefics as…
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a gemstone recommendation. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude. Coordinates do NOT default to 0 here as they do on other chart endpoints: the whole answer is derived from the lagna, so an omitted pair is a 400 rather than a confident set of gems for 0N 0E. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| avoid | No | |
| lagna | No | |
| school | No | |
| ayanamsa | No | |
| cautions | No | |
| condition | No | |
| nodesNote | No | |
| disclaimer | No | |
| schoolNote | No | |
| recommended | No | |
| conditionNote | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the computational model (lagna-derived, what each school withholds and how it orders results), which is useful domain context, but it says nothing about failure modes, permissions or output shape beyond what the schema already carries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first sentence, followed by school detail; there is little wasted phrasing. The text is truncated mid-sentence, so full structure cannot be judged, but what is present is tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich input schema and an output schema present, the description need not document return values, and it covers the purpose, the derivation basis and both schools. It is nearly complete for the tool's complexity, missing only sibling disambiguation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description nonetheless earns a point by explaining what the `school` enum values actually mean (trikona lords vs. functional benefics led by the yogakaraka) and by emphasizing that latitude/longitude drive the whole answer, which the schema only states as a 400 constraint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — choosing which of the nine gems (ratna) to wear — and grounds it in a concrete calculation basis (the sidereal lagna). It is clear what the tool produces, but it never distinguishes itself from the close sibling astroway_vedic_gemstones_navaratna, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The two schools are explained with defaults, which implicitly tells the agent which parameter value to pick, but there is no explicit when-to-use-this-tool statement, no exclusions, and no routing away from the navaratna sibling or astroway_reports_gemstone. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_argala_analysisJaimini: Argala / Virodhargala scanBRead-onlyIdempotentInspect
Full Argala (intervention) + Virodhargala (counter-intervention) scan across all 12 houses. Argala from 2/4/11 (primary), 5 (secondary), 8 (special); Virodhargala from 12/10/3 (primary), 9 (secondary), 6 (special). Net influence and dominant-over metric per house.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| houses | No | |
| method | No | |
| weakestArgala | No | |
| strongestArgala | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, read-only, idempotent, closed-world operation, so the safety burden is lifted. The description adds the credit cost (20 credits, Tier 2), which is genuinely useful decision context, but says nothing about accuracy caveats, auth, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first sentence, with supporting detail and cost metadata following. It is appropriately sized, though the dense list of argala source houses is heavy and could be trimmed since the output schema carries return detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover safety, so return values and safety need no explanation. However, for a 15-parameter tool the description never signals that it requires birth date/time/location, leaving the agent to infer all input requirements from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description mentions no parameters at all. It does not compensate for the coverage gap by explaining how the birth data, ayanamsa, zodiacType, or houseSystem choices affect the argala computation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific technique (Argala/Virodhargala scan) and its output set (net influence and dominant-over metric per house across all 12 houses), so an agent knows exactly what is computed. It is clearly distinguishable from generic Jaimini aspect tools like jaimini_drishti_rasi, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many other Jaimini or Vedic analysis tools; the usage is only implied by the subject matter. No prerequisites, exclusions, or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_aspectsJaimini: Aspects (Rasi + Graha drishti)ARead-onlyIdempotentInspect
Combined Jaimini aspects: rasi drishti (12-rasi sign-aspect table per modality rules) + graha drishti (per-planet Parashari aspects). Convenience aggregate of /drishti-rasi and /drishti-graha.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| rasiDrishti | No | |
| grahaDrishti | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is low. The description adds the cost tier (20 credits, Tier 2), a genuine behavioral trait beyond the annotations. It adds nothing about output shape, but an output schema exists so that is not required here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences carry the full payload, with group and cost metadata kept compactly separate. Zero wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only computation with an output schema and full annotation coverage, the description covers purpose, composition and cost adequately. The remaining gap is the silent 15-parameter surface, but the schema carries the bulk of that burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
15 parameters with only 33% schema description coverage, and the description mentions no parameter at all. Date, time, latitude, longitude, city, name, cosmogram, zodiacType, houseSystem and ayanamsaId are left undocumented in both places. With coverage below 50% the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States precisely what is computed (combined rasi drishti + graha drishti) and grounds each component in its rule system (modality rules, Parashari aspects). It also names the two underlying operations, which cleanly distinguishes it from the sibling astroway_vedic_jaimini_drishti_rasi and astroway_vedic_jaimini_drishti_graha tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Calling it a "convenience aggregate of /drishti-rasi and /drishti-graha" strongly implies the routing rule: use this when you want both tables in one call, use the individual tools when you need only one. The condition is clear but never stated explicitly as a when-not, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_atmakaraka_rotationJaimini: Atmakaraka rotation (timeline)BRead-onlyIdempotentInspect
Naisargika 1°/year symbolic progression of sidereal longitudes; scans for moments when the rank-1 chara karaka (Atmakaraka) changes. Returns timeline of soul-significator transitions with age-of-event + before/after planets + life-event hints. Default span 84 years; capped at 120.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| events | No | |
| method | No | |
| yearsScanned | No | |
| birthAtmakaraka | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed read operation, so the bar is lower. The description adds real computational context: the 1°/year 'naisargika' symbolic progression model, the returned fields (age-of-event, before/after planets, life-event hints), and a hard behavioral limit (default 84 years, capped at 120). This is meaningful context beyond annotations, though nothing is said about performance or precision.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core operation, followed by output content and scope limits in two dense but purposeful sentences. No filler; the [Group]/[Cost] tags are structured metadata rather than prose. Jargon ('naisargika', 'chara karaka') is heavy but domain-appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, and annotations cover the safety profile. However, for a 15-parameter tool with only 33% schema coverage and no parameter guidance, the description leaves the agent under-equipped to fill in the input correctly. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description is expected to compensate for undocumented parameters, and it does not. It mentions a 'span' of 84/120 years, but no such span parameter exists in the schema, so that detail does not map to any input; the required date/time/latitude/longitude and the ayanamsa/houseSystem/zodiacType choices get no explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it scans for moments when the rank-1 chara karaka (Atmakaraka) changes, returning a timeline of soul-significator transitions. This is more specific than the static sibling tools (chara_karakas, karakas), though the description never names an alternative tool to disambiguate. Clear purpose, but no explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are named among the many Jaimini siblings. The default/capped span gives a scoping constraint but not selection guidance. Usage must be inferred from the purpose statement alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_chara_karakasJaimini: Chara Karakas (detailed)BRead-onlyIdempotentInspect
Detailed chara karaka ranking with Atmakaraka/Darakaraka highlighted. Same algorithm as /karakas but focused output for AK/DK-driven analyses.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| method | No | |
| ranking | No | |
| atmakaraka | No | |
| darakaraka | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description does add useful context — the cost tier (20 credits, Tier 2) and that it shares the algorithm with /karakas — but says nothing about determinism, auth, or how the AK/DK focus changes computation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences that front-load the purpose and the sibling relationship, followed by compact cost/group metadata. No wasted prose, though the focused-output benefit could be stated more concretely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be re-explained, and the core purpose is clear. However, for a 15-parameter chart tool the description does not orient the agent on the required birth-data inputs or the ayanamsa/house-system choices, leaving a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not. It gives no information about date/time/latitude/longitude, ayanamsa, timezone, or the compact-mode 'fields' parameter, leaving much of the calling contract to partially-documented schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource ('chara karaka ranking') and names what is emphasized (Atmakaraka/Darakaraka). It also explicitly ties itself to the sibling astroway_vedic_jaimini_karakas, so an agent can differentiate them, though the exact difference in output ('focused output') is left somewhat abstract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the alternative ('/karakas') and the condition that selects this variant ('focused output for AK/DK-driven analyses'). It stops short of explicit when-not guidance or a comparison against the other Jaimini siblings, so use context is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_dasha_summaryJaimini: Running Dasha SummaryARead-onlyIdempotentInspect
Convenience aggregate: returns the running Mahadasha for Chara, Sthira, and Shoola at targetDate (default = now). Same builders as the dedicated /dashas/{chara,sthira,shoola}/maha endpoints; this one returns three running periods in a single call.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the target date for the Jaimini dasha summary. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| summary | No | |
| ayanamsa | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds the cost (20 credits, Tier 2) and the default-date behavior, which are genuinely useful. It does not describe output shape or how 'running' periods are derived, but an output schema exists to carry that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences that explain what it returns and how it differs from the dedicated endpoints, plus compact group/cost tags. No filler, though the credit tag is metadata rather than description prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations, a rich input schema and an output schema present, the description needs only to establish identity, scope and routing, all of which it does. Minor gaps remain about interpretation of the three simultaneous running periods, but nothing required to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds that targetDate defaults to now, which the schema does not state (no default on targetDate), giving modest extra value beyond structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns the running Mahadasha for Chara, Sthira and Shoola. It explicitly contrasts itself with the three dedicated /dashas/{chara,sthira,shoola}/maha siblings, so an agent can distinguish it without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context: this is the convenience aggregate to use when you want all three running periods in one call rather than three separate calls to the dedicated endpoints. No explicit when-not or credit-vs-three-calls tradeoff guidance, but routing is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_drishti_grahaJaimini: Graha Drishti (planet aspects)BRead-onlyIdempotentInspect
Per-planet graha drishti per Parashari rules (BPHS): Mars 4/7/8, Jupiter 5/7/9, Saturn 3/7/10, others 7th. Used in Jaimini-context dashboards alongside rasi drishti.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| method | No | |
| grahaDrishti | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds useful cost context (20 credits, Tier 2) and the Vedic group tag, but says nothing about accuracy, sidereal/tropical assumptions, or validation behavior beyond what the schema and annotations carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences plus a compact group/cost footer. The listed aspect degrees are somewhat gratuitous for tool selection but do hint at what the computation returns, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. But for a 15-parameter, 4-required chart-calculation tool with 33% param coverage, the near-total absence of input guidance leaves a real gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is the main opportunity to compensate and it does not: it explains none of date, time, latitude, longitude, timezone, ayanamsa, or the compact-mode fields/precision controls. The aspect rules it lists describe the astrological doctrine, not any input argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Per-planet graha drishti') and grounds it in a named system (Parashari/BPHS). It also gestures at the sibling distinction by noting it is used 'alongside rasi drishti', which helps separate it from astroway_vedic_jaimini_drishti_rasi, though the differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Used in Jaimini-context dashboards alongside rasi drishti' gives contextual usage, implying it is a companion to the rasi drishti tool. However, there is no explicit when-to-use/when-not guidance, no prerequisites, and no statement of when to prefer one drishti tool over the other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_drishti_rasiJaimini: Rasi Drishti (sign aspects)BRead-onlyIdempotentInspect
Jaimini rasi drishti table: movable signs aspect all fixed except adjacent; fixed aspect all movable except adjacent; dual aspect all other dual. Per Jaimini Sutras 1.1.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| method | No | |
| rasiDrishti | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuinely useful non-annotation context: the credit cost (20 credits, Tier 2), the Vedic grouping, and the cited source (Jaimini Sutras 1.1). It does not describe what the returned table looks like or how it is keyed, though an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The rule is stated first and compactly, with no filler prose; the bracketed group and cost lines are terse metadata. Every sentence earns its place, though the doctrinal sentence is dense enough to need slow parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be described, and annotations carry the safety profile. What is missing is routing guidance against drishti_graha/aspects siblings and any parameter hints for a 15-param tool, so the definition is adequate but leaves real gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description supplies no parameter meaning whatsoever — no note on date/time/latitude/longitude requirements, ayanamsa selection, or the compact-mode fields/precision options. With low coverage the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific artifact ('Jaimini rasi drishti table') and spells out the sign-aspect rule (movable/fixed/dual interactions), which tells an agent exactly what doctrine this tool computes. It does not, however, explicitly distinguish itself from the sibling astroway_vedic_jaimini_drishti_graha (planetary drishti), leaving that separation to the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the graha-drishti sibling as an alternative, and no stated prerequisites or chart requirements. The agent is left to infer usage purely from the tool name and the doctrinal rule text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_karakasJaimini: Karakas (Chara + Naisargika)BRead-onlyIdempotentInspect
Jaimini karakas: chara karakas (8-planet ranking by advancement-in-rasi, Atmakaraka..Darakaraka) + naisargika karakas (fixed planet→house mapping). Source: Jaimini Sutras 2.x + BPHS Adhyaya 47 + PyJHora chara_karakas/naisargika_karakas.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chara | No | |
| lagna | No | |
| ayanamsa | No | |
| charaRoles | No | |
| naisargika | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds provenance context (Jaimini Sutras 2.x, BPHS Adhyaya 47, PyJHora) which helps an agent judge authority, but says nothing about determinism relative to ayanamsa choice or any computation constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences that are front-loaded with the actual output contents, followed by compact group/cost tags. No filler or restatement of the title. Slightly terse on the trailing source citation, but every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a 15-parameter, 33%-documented tool the description is thin: it omits sibling differentiation and any hint that sidereal settings alter the result. Adequate as a minimum-viable definition but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% and the description adds no parameter information whatsoever. It never explains that ayanamsa/zodiacType/houseSystem materially change the karaka ranking, nor what city/name/cosmogram do. With a low coverage rate, the description was expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific artifact (Jaimini karakas) and enumerates both variants it returns — chara karakas (8-planet ranking, Atmakaraka..Darakaraka) and naisargika karakas (fixed planet→house mapping). That is well beyond a tautology. However it never distinguishes itself from the sibling astroway_vedic_jaimini_chara_karakas, which appears to cover overlapping ground, so an agent cannot tell them apart from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance at all. The description never says which chart context is needed, whether it should be preferred over the chara_karakas sibling, or how it relates to atmakaraka_navamsa/rotation. Only implied usage can be inferred from the content list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_padasJaimini: Padas (Bhava/Surya/Chandra/Graha Arudhas)ARead-onlyIdempotentInspect
All canonical Arudhas: A1..A12 (Bhava Arudhas / lagna padas), S1..S12 (Surya/Sun arudhas), M1..M12 (Chandra/Moon arudhas), and Graha Arudhas (lagna + 9 planets). Implements 1/7-trim rule per BPHS Adhyaya 26 verse 4.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| bhavaArudhas | No | |
| grahaArudhas | No | |
| suryaArudhas | No | |
| chandraArudhas | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is lower. The description usefully adds the computational rule (1/7-trim per BPHS Adhyaya 26 verse 4) and the credit cost tier, which hints at determinism and cost. It does not describe output shape or the effect of ayanamsa/ayanamsaId on Arudha positions beyond what the schema says.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the enumeration first, then the classical method citation. Every clause earns its place with zero padding, and the group/cost tags are front-loaded at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and annotations cover safety. The description is complete enough for invocation but leaves selection guidance and parameter influence on results unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 params, so the description should compensate but does not. It says nothing about date/time/latitude/longitude/ayanamsa/houseSystem/timezone. Baseline 3 for the structured schema carrying most of the load, but the low coverage gap is unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource: computes all canonical Arudhas, enumerating the exact output families (A1..A12 Bhava, S1..S12 Surya, M1..M12 Chandra, Graha Arudhas). This distinguishes it cleanly from siblings like astroway_vedic_jaimini_upapada (single Upapada) and astroway_vedic_jaimini_karakas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not guidance. It never says to prefer astroway_vedic_jaimini_upapada for the single Upapada or to use this when the full Arudha set is needed. An agent must infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_upapadaJaimini: Upapada Lagna (UL)BRead-onlyIdempotentInspect
Upapada Lagna (UL = A12): pada of the 12th house from lagna. Canonical Jaimini significator for spouse, marriage, partnerships.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| meaning | No | |
| upapada | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the credit cost (20 credits, Tier 2) and group, which is useful operational context. It does not describe return shape, but an output schema exists, so 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight lines: the definition and the signification, plus bracketed group/cost metadata. It is front-loaded and waste-free. Slightly over-compressed given the parameter complexity it leaves untouched, but nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool sitting in a dense Jaimini toolbox, the description omits any guidance on required inputs, sidereal/ayanamsa configuration, or sibling selection. An output schema exists so return values needn't be described, but the low schema coverage and crowded sibling space leave meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so 15 parameters (including enums for ayanamsa, zodiacType, houseSystem) rely on the schema and the description adds nothing about them. The description names no parameters and gives no guidance on required date/time/latitude/longitude or sidereal configuration, which matters for a tool naming a sidereal school. It does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource: it names the Upapada Lagna, gives the technical definition (UL = A12, pada of the 12th house from lagna), and identifies the domain (Jaimini). It clearly tells the agent what this computes. However, it does not differentiate from the closest siblings such as astroway_vedic_jaimini_padas or astroway_vedic_jaimini_karakas, so an agent choosing among Jaimini tools has no explicit routing signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the UL is the 'canonical Jaimini significator for spouse, marriage, partnerships,' which tells the agent the topical context. But there is no explicit when-to-use, when-not-to-use, or named alternative (e.g., versus jaimini_padas). Usage is inferable but not directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_jaimini_yogasJaimini: Yogas (basic AK/DK/PK set)BRead-onlyIdempotentInspect
Basic Jaimini-yoga checks based on chara karakas: Raja yoga (AK in Lagna/Kendra), marriage yoga (DK in trine), AK+PK conjunction (success yoga), AK in dusthana (challenge flag). Phase 2 block 19 will add 5 dedicated /yogas/jaimini/* endpoints with Raja/Dhana/Daridra/Viparita Raja yogas per Jaimini canon.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| lagna | No | |
| yogas | No | |
| atmakaraka | No | |
| darakaraka | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds the credit cost (20, Tier 2) and the semantics of what each yoga flag means, which is genuine value. It does not disclose anything further about response shape or computation constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The yoga enumeration is front-loaded and tight, which is good. However the trailing Phase 2 sentence is stale relative to the shipped siblings and reads as roadmap noise, and the [Group]/[Cost] tags add metadata that isn't about invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the common chart-building params are shared across the astroway family. Still, with 15 params at 33% coverage and a mutation-free but multi-option surface (ayanamsa enum, houseSystem enum, zodiacType), the description leaves the invocation contract to the schema alone and adds no prerequisites or defaults.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a compensation burden and provides none: it never mentions date, time, latitude, longitude, timezone, ayanamsa, or the fields/precision compact-mode params. An agent gets no added meaning for the under-documented inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific verb+resource work: 'Basic Jaimini-yoga checks based on chara karakas' and enumerates the exact checks (Raja yoga AK in Lagna/Kendra, marriage yoga DK in trine, AK+PK conjunction, AK in dusthana). That is far more precise than a tautology. It only weakly separates itself from the many existing astroway_vedic_jaimini_* and astroway_vedic_yogas_jaimini_* siblings, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: this is the 'basic' set, and the description points toward dedicated yoga endpoints for fuller analysis. But the pointer is framed as future work ('Phase 2 block 19 will add...') even though siblings like astroway_vedic_yogas_jaimini_raja, _dhana, _daridra, and _viparita already appear in the tool list, so the routing advice is stale rather than an actionable when-to-use/when-not-to-use rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_kp_asc_subKP: Ascendant sub-lordBRead-onlyIdempotentInspect
Sub-lord of the Ascendant: the canonical "ruling indicator" for the chart's primary motivation, life direction, and dominant karmic theme per K.S. Krishnamurti Reader I-II.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chain | No | |
| lagna | No | |
| meaning | No | |
| ascSubLord | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds the non-obvious credit cost (20 credits, Tier 2) and cites the interpretive source (K.S. Krishnamurti Reader I-II), but says nothing about prerequisites such as the KP convention of a krishnamurti ayanamsa.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and its meaning in one sentence, and the Group/Cost tags are compact, scannable metadata. Slightly ornamental phrasing ('canonical "ruling indicator"') but no real padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations carry the safety profile. The gaps are on the input side: 15-param schema at 33% coverage plus no mention that KP calculations conventionally assume the krishnamurti ayanamsa, leaving an agent under-informed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
15 parameters with only 33% schema description coverage, and the description explains none of them. It does not clarify defaults (lahiri for ayanamsa, P house system), the meaning of fields, or any KP-specific input expectation, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (the Ascendant's sub-lord) and even explains its role as the 'ruling indicator' for motivation and life direction. However, it never distinguishes itself from close siblings like astroway_vedic_kp_sub_lords, astroway_vedic_kp_cusps, or astroway_vedic_kp_ruling_planets, which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing. The astrology gloss implies the interpretive context but gives an agent no rule for selecting this over other KP tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_kp_cuspsKP: Placidus cusps with sub-lord chainBRead-onlyIdempotentInspect
KP-canonical Placidus cusps (12) with full sub-lord chain (sign / star / sub / sub-sub) for each cusp. Sub-lord chain follows K.S. Krishnamurti 1971 Vimshottari proportional sub-divisions.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cusps | No | |
| lagna | No | |
| method | No | |
| ayanamsa | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so safety is covered. The description adds genuine methodological context (Krishnamurti 1971 Vimshottari proportional sub-divisions) and the cost tier (20 credits, Tier 2), but says nothing about output volume, caching, or precision behavior for a 15-parameter tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with the resource stated first and the methodological note second, plus compact Group/Cost tags. No filler, though the closing metadata block is boilerplate rather than descriptive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and the description does convey the shape of the result (12 cusps, four sub-lord levels). It remains incomplete on the two things that matter for this tool: when to prefer it over sibling KP endpoints and how the many undocumented input parameters should be set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries the burden and fails to help: it explains no parameter at all. The only implicit guidance is that 'Placidus' and 'KP-canonical' hint the houseSystem and ayanamsa values, which an agent must still derive from enums.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource and scope: the 12 KP-canonical Placidus cusps, each with a four-level sub-lord chain, and attributes the method to Krishnamurti 1971. An agent can distinguish this cusp-level output from sibling KP tools such as vedic_kp_sub_lords or vedic_kp_asc_sub by inference, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what is returned but never says when to choose this over the other KP endpoints (sub_lords, sub_sub_lord, planet_cuspal_position, asc_sub). There are no prerequisites, no exclusions, and no routing guidance despite a dense cluster of near-identical siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_kp_fortunaKP: Part of FortuneBRead-onlyIdempotentInspect
Part of Fortune (Lot of Fortune): ASC + Moon − Sun (day birth) or ASC + Sun − Moon (night birth). Sub-lord chain attached for KP-style usage.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chain | No | |
| house | No | |
| lagna | No | |
| formula | No | |
| isDayBirth | No | |
| fortunaLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered and the bar is lower. The description usefully discloses the computation semantics (day vs night birth) and that a sub-lord chain is attached. It does not add auth, rate-limit, or output-shape context, but return shape is covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The formula is front-loaded and the whole description is one tight sentence plus a short trailing clause. The credit-cost and group tags are metadata rather than wasteful prose. Efficient, though slightly dense for the amount of invocation nuance it omits.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists so return values need not be explained, and the purpose/formula is complete. However, for a 15-parameter tool with low schema coverage, the description omits any guidance on required inputs or optional modifiers, so it is minimally sufficient rather than complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a heavy compensation burden but offers zero parameter-level guidance. It never mentions date, time, latitude, longitude, ayanamsa, house system, or the compact-mode fields, leaving the agent to rely entirely on the partially documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific computed point (Part of Fortune / Lot of Fortune) and gives the exact day/night formulas, so an agent knows precisely what is calculated. It also signals the KP sub-lord chain augmentation. It does not differentiate itself from adjacent siblings like astroway_aspects_arabic_parts or the Hellenistic Lot-of-Fortune tools, but the technique is stated concretely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no named alternative among the many lot/fortune siblings. The phrase 'for KP-style usage' implies a context but does not tell the agent how to choose this tool over the KP sub-lord or Arabic-parts tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_kp_horaryKP: Horary chart (1..249)BRead-onlyIdempotentInspect
KP horary number lookup: given a number 1..249, returns the canonical KP-table ASC longitude + sub-lord chain. The horary moment is the call moment passed in the body.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| horaryNumber | Yes | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| method | No | |
| ascendant | No | |
| ascSidereal | No | |
| horaryNumber | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description usefully adds that the horary moment is the call moment (no separate moment argument) and discloses the cost (20 credits, Tier 2), which is real behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the output and the key input front-loaded, plus compact Group/Cost tags. No filler; nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and annotations cover safety. However, for an 11-parameter tool at 45% coverage, the description is thin on how the moment and ayanamsa inputs interact with the horary number, and it gives no KP-specific defaults.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 45%; six parameters (date, time, latitude, longitude, horaryNumber, ayanamsaId) carry no schema description. The description only conceptually ties horaryNumber to the 1..249 range and gestures at the moment params, leaving ayanamsa default, timezone handling, and precision undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: a KP horary number lookup that returns the canonical KP-table ASC longitude plus sub-lord chain. It is clear what the tool produces, but it never differentiates itself from near-neighbors such as astroway_horary_horary or astroway_vedic_kp_asc_sub, which an agent in this crowded sibling space would need.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the input precondition (a number 1..249) and clarifies that the horary moment is the call moment, but gives no when-to-use/when-not guidance and names no alternative among the many horary and KP siblings. The agent must infer selection on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_kp_planet_cuspal_positionKP: Planet cuspal positionsBRead-onlyIdempotentInspect
For each planet: sidereal longitude + KP chain (sign/star/sub/sub-sub) + Placidus house occupied. Convenience layout for KP analyses.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| planets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description adds the output shape and the credit cost/group tag, which is useful, but says nothing about the ayanamsa actually used by default (Lahiri per schema) which materially changes KP results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact clauses plus metadata tags; the payload description is front-loaded and every element is informative. It is not padded, though the brevity comes partly at the cost of the guidance noted above.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no prose, but a 15-parameter chart computation with 33% coverage and no usage routing is under-specified. Most importantly, a KP tool whose default ayanamsa is Lahiri (schema default) rather than KP/Krishnamurti never warns the agent, which can silently produce wrong KP chains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description must compensate, yet it provides zero parameter-level guidance. The schema leaves city, date, time, name, latitude, longitude, cosmogram, zodiacType, houseSystem and ayanamsaId undocumented, including the KP-critical choice of ayanamsa.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource (per-planet positions) and enumerates exactly what is returned: sidereal longitude, KP chain (sign/star/sub/sub-sub) and Placidus house. This distinguishes it from KP cusp/sub-lord siblings, though those siblings are never named, so differentiation is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Convenience layout for KP analyses" implies when it is appropriate but states no prerequisites, no when-not condition, and does not point to kp_cusps, kp_sub_lords or kp_asc_sub as alternatives. An agent must infer the choice from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_kp_ruling_planetsKP: Ruling PlanetsBRead-onlyIdempotentInspect
Canonical KP ruling planets: Day-lord + Hora-lord + Asc-sign + Asc-star + Asc-sub + Moon-sign + Moon-star + Moon-sub, deduplicated. Used in horary timing analysis.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| moon | No | |
| method | No | |
| dayLord | No | |
| ayanamsa | No | |
| horaLord | No | |
| ascendant | No | |
| rulingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered and the bar is lower. The description adds the computational composition and cost tier (20 credits, Tier 2), which is genuinely useful, but says nothing about determinism, latency, or failure modes for invalid coordinates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the definition before the usage clause, plus compact Group/Cost metadata. Nothing is padded, though the composition list is dense and could be trimmed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. For a 15-parameter computation tool, though, the description leaves the large parameter surface and any ayanamsa/zodiac defaults undocumented, so an agent still has gaps before it can call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a heavy burden to compensate and it does not: it mentions no parameter at all, not even the required date/time/latitude/longitude inputs or how ayanamsa/zodiacType interact with KP results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific computed artifact and enumerates its components (Day-lord + Hora-lord + Asc-sign/star/sub + Moon-sign/star/sub, deduplicated), so an agent knows exactly what the tool returns. However it never distinguishes itself from closely-named KP/horary siblings like astroway_vedic_kp_horary, astroway_vedic_kp_sub_lords, or astroway_vedic_kp_significators, which all operate in the same domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Used in horary timing analysis' implies a usage context, which is more than nothing. But there is no explicit when-to-use rule, no when-not, and no pointer to the sibling KP tools that might be the better choice for a given task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_kp_significatorsKP: Significators (primary/secondary/tertiary)BRead-onlyIdempotentInspect
KP significator hierarchy per planet: primary = houses occupied by the star-lord; secondary = houses occupied by the planet itself; tertiary = houses occupied by the sign-lord. K.S. Krishnamurti Reader IV.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| method | No | |
| significators | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is covered. The description adds the credit cost and the domain semantics of the three tiers, which is useful interpretive context, but it says nothing about what the response contains or how results are scoped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded and dense with no filler; the group and cost tags are compact metadata. The single explanatory sentence does a lot of work, though the tier definitions could be slightly tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, and annotations cover the safety profile. However, for a 15-parameter tool with 33% schema coverage, the absence of any parameter or scoping guidance leaves the definition thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds no parameter guidance at all — not even the required date/time/latitude/longitude or the KP-relevant ayanamsa/houseSystem choices. With low coverage the description is expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (KP significator hierarchy per planet) and defines the three tiers precisely, so an agent knows this computes KP significators rather than something else. It does not, however, distinguish itself from the many sibling KP tools (kp_sub_lords, kp_ruling_planets, kp_cusps), so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. The agent must infer that this belongs to the KP family purely from the name; nothing in the text says when this is preferred over kp_sub_lords or kp_planet_cuspal_position.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_kp_sub_lordsKP: Sub-lords (cusps + planets)BRead-onlyIdempotentInspect
Full KP "horoscope at a glance" table: sub-lord chain for every cusp + every planet (lagna, 9 grahas including Ketu).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cusps | No | |
| lagna | No | |
| planets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered by structured data. The description adds the cost tier (Tier 2, 20 credits) and the group (Vedic), which are useful operational facts not present in annotations. However, it does not disclose behavioral specifics like how ayanamsa defaults interact with the KP system, or whether KP-specific defaults are applied, which matters because the tool is KP-specific and the schema exposes many configurable sidereal options.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence plus two bracketed metadata lines. It is front-loaded with what the tool returns and wastes no words. The bracket notation for group and cost is compact and parseable, though it is slightly unconventional and the cost figure is stated as a cost rather than being more explicitly framed as a usage constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not enumerate return fields. But for a 15-parameter, KP-specialized tool with low schema coverage, the description omits essential context: it does not state that the KP ayanamsa option should be used, does not explain the KP house system implications, and offers no guidance on coordinate/time requirements. Given the complexity, the definition is materially incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%. Only a handful of the 15 parameters (fields, precision, ayanamsa, timezone, timezoneOffset) carry descriptions in the schema. The description itself adds no parameter information at all — it does not clarify which ayanamsa is appropriate for KP (the krishnamurti/kp enum value exists but the description never mentions it), nor does it explain the required date/time/lat/long inputs. With low coverage and no compensating description, the definition leaves most parameters to schema-only interpretation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific output: the sub-lord chain for every cusp plus every planet, including lagna and 9 grahas (Ketu named). That distinguishes it clearly from neighboring KP tools like kp_cusps, kp_significators, or kp_sub_sub_lord, which cover different KP constructs. It does not explicitly name those siblings as alternatives, but the scope statement is precise enough that an agent can identify what the tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'horoscope at a glance' implies a survey/snapshot use case, but there is no explicit when-to-use or when-not-to-use guidance, and no sibling alternative is named (e.g., kp_significators for house rulership, kp_sub_sub_lord for deeper subdivision). Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_kp_sub_sub_lordKP: Sub-sub-lord lookupARead-onlyIdempotentInspect
Returns the full sub-lord chain (sign/star/sub/sub-sub) at any sidereal longitude 0..360. Useful for transit-trigger and dasha-bhukti exact-moment analysis.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chain | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuinely new behavioral context the annotations do not: the frame is sidereal (not tropical), the input domain is bounded 0..360, and the call is priced at 20 credits (Tier 2), which is real cost-awareness for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with what is returned before the use case, followed by compact group/cost tags. No filler; the only mild waste is restating the 0..360 range that the schema already enforces.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the two optional compact-mode params are schema-documented. The description supplies purpose, frame, and cost. The remaining gap is selection context against the near-identical KP sub-lord sibling, which is not addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% — 'fields' and 'precision' are documented in the schema, while 'longitude' has only min/max bounds and no description. The description partially compensates by specifying that the longitude is sidereal, which the schema does not say, but it adds nothing about units/format beyond the 0..360 bound already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — it 'Returns the full sub-lord chain (sign/star/sub/sub-sub)' — and pins the input domain to 'any sidereal longitude 0..360', which is concrete and testable. It does not, however, differentiate itself from the very similarly named sibling astroway_vedic_kp_sub_lords, so an agent must infer that this one is longitude-addressable while that one is chart-based.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It offers a usage context ('useful for transit-trigger and dasha-bhukti exact-moment analysis'), which implies when the tool is applicable. But it gives no when-not guidance and never names an alternative (e.g. astroway_vedic_kp_sub_lords for chart-based lookups), so routing between the two KP sub-lord tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_kp_transit_kpKP: Transit positionsBRead-onlyIdempotentInspect
Sidereal positions of all 9 grahas (incl. Ketu) at targetDate (default = now) with KP sub-lord chain attached. Use for KP transit-timing.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| jd | No | |
| planets | No | |
| ayanamsa | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds that the default moment is 'now' and that the KP sub-lord chain is included, which is useful context, but says nothing about credit cost behavior beyond the tag, output shape, or limits. With annotations doing the heavy lifting, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core scope and use case front-loaded; nothing is padded. The bracketed Group/Cost lines are metadata rather than prose, but they add little clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover safety. However, for an 8-parameter tool with sub-hour timezone semantics and a large sibling set, the description omits guidance on ayanamsa selection, timezone vs offset, and when to prefer this over other KP transit tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description refers to a parameter named `targetDate`, but the schema defines `date`/`time` and no `targetDate` at all, which risks misleading the agent about the required input name. It adds no meaning for ayanamsa, precision, fields, or timezone, which is significant given only 63% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: sidereal positions of all 9 grahas (including Ketu) with the KP sub-lord chain attached, plus the intended use case ('KP transit-timing'). This clearly separates it from generic transit tools, though it does not distinguish it from close KP siblings such as astroway_vedic_kp_sub_lords or astroway_vedic_kp_cusps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use for KP transit-timing' gives an implied context for invocation, but there is no when-not guidance and no named alternative among the many sibling tools. In a catalog this size, the absence of routing language against the other KP and prognostics transit tools is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_blind_houseLal Kitab: Blind houses (Andha bhava)BRead-onlyIdempotentInspect
Houses with no planet AND no Parashari aspect. Per Lal Kitab, blind houses indicate areas where karma is "unilluminated" and remedies are essential.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| meaning | No | |
| disclaimer | No | |
| blindHouses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered and the description does not contradict it. The description adds interpretive context (karma 'unilluminated', remedies essential) and discloses the cost tier (20 credits, Tier 2), which is genuinely useful non-schema information, but says nothing about what is returned or response shape — mitigated by the existing output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences plus two metadata tags; the technical definition is front-loaded and nothing is padded. It is arguably slightly under-written for a 15-parameter tool, but there is no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What remains missing is guidance on when to use this versus the adjacent lal_kitab concept tools, and any coverage of the many undocumented parameters — a real gap given 33% schema coverage and 15 inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not — it offers zero parameter guidance. Several parameters (city, name, cosmogram, zodiacType, houseSystem) carry no schema description at all, and the description leaves them entirely undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description precisely defines the computed artifact — houses with no planet and no Parashari aspect — which is a narrow, distinctive resource among the many lal_kitab siblings (sleeping_house, debts, kismat, prosperity, remedies). The action verb ('compute/return') is never stated explicitly, but the resource definition is unambiguous enough for an agent to select it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named. There is no statement distinguishing this from the sibling astroway_vedic_lal_kitab_sleeping_house (a related but distinct Lal Kitab concept) or from astroway_vedic_lal_kitab_remedies, which the description's closing clause ('remedies are essential') could easily be confused with. Usage is only implied by the domain term.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_dashaLal Kitab: Dasha (35-year cycle)BRead-onlyIdempotentInspect
Lal Kitab dasha: 35-year cycle, 1 house per ~2.917 years from age 0 forward. Per K. Ashant tradition (alternate 38y impl in some authors flagged in method).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dasha | No | |
| lagna | No | |
| method | No | |
| cycleYears | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuine algorithmic context (cycle length, per-house duration, tradition, and that alternate 38y implementations are flagged in a `method` field) plus a cost tier, but says nothing about output shape or accuracy caveats beyond that. Modest value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the defining cycle mechanics, plus compact Group/Cost tags. Nothing is wasted, though the parenthetical about alternate implementations is slightly buried at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the tool is read-only, lowering the burden. Still, with 15 parameters at low coverage and no usage guidance, the definition is only minimally sufficient for an agent to call it correctly versus the crowded dasha/lal-kitab sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate, and it does not: no parameter is named or explained. It implies birth data ('from age 0 forward') but never clarifies that date/time/latitude/longitude are the required inputs or what the undocumented params (zodiacType, houseSystem, name, city) mean here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource and scope: computes the Lal Kitab dasha, defining the 35-year cycle and ~2.917-year per-house period from age 0. That is concrete enough to distinguish it from generic charting. It does not, however, contrast itself with the many sibling dasha systems (vimshottari, ashtottari, etc.), so differentiation rests on the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not guidance and no named alternative among the numerous dasha tools. 'Per K. Ashant tradition' tells the agent about a variant but not which situations call for this tool versus another dasha. Usage is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_debtsLal Kitab: Rin (6 ancestral debts)BRead-onlyIdempotentInspect
Detects six ancestral debts (Pitri / Stree / Kanya / Atma / Rishi / Daiva Rin) per Lal Kitab planet-affliction patterns. Each rin returns trigger conditions + recommended remedy. Per K. Ashant Vol. IV + R.D. Mathur consensus.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rins | No | |
| lagna | No | |
| disclaimer | No | |
| activeCount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description usefully adds that each rin returns trigger conditions plus a recommended remedy, and discloses the 20-credit Tier 2 cost, which annotations do not. It omits any auth, rate-limit, or empty-result behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences plus structured [Group]/[Cost] tags, front-loaded with the tool's identity and output. No filler, though the source-attribution sentence (K. Ashant Vol. IV + R.D. Mathur) is only marginally useful to an invoking agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not strictly required, and annotations cover the safety profile. But for a 15-parameter tool at 33% coverage with a near-duplicate sibling, the description leaves parameter requirements and sibling disambiguation unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries the burden of compensating and does not. It never mentions that date, time, latitude, and longitude are required birth-chart inputs, nor the ayanamsa/houseSystem/compact-mode (fields, precision) options that the schema only partially documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Detects' plus a named resource (six ancestral debts, each enumerated: Pitri/Stree/Kanya/Atma/Rishi/Daiva Rin) with a stated method (Lal Kitab planet-affliction patterns). However, it does not distinguish itself from the near-identical sibling astroway_vedic_doshas_lal_kitab_rin, so an agent cannot tell the two apart from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and names no alternative. With a direct sibling (vedic_doshas_lal_kitab_rin) and a related lal_kitab_full tool in the list, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_kismatLal Kitab: Kismat (fortune indicator)BRead-onlyIdempotentInspect
LK fortune score: +2 pakka ghar, +1 own sign, +2 exalted, −2 debilitated. Higher = more fortunate per K. Ashant Vol. III.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| kismat | No | |
| disclaimer | No | |
| interpretation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context in the form of the weighting scheme and the direction of the scale ('higher = more fortunate'), but says nothing about what inputs are required, cost implications beyond the credit tag, or determinism of the score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Terse and front-loaded: the scoring rubric leads, followed by the source citation and two bracketed metadata tags. No filler sentences, though the formula, while informative, is dense and the description could be clearer about the action it performs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description does convey the scoring semantics. But for a 15-parameter computation tool it omits any usage context, input expectations, or routing relative to the dense Lal Kitab sibling set, leaving clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the schema does not fully document its inputs, and the description compensates for none of them — it mentions no parameter at all. Even the four required parameters (date, time, latitude, longitude) are left to the schema with no interpretive guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Lal Kitab kismat/fortune) and even the exact scoring rubric (+2 pakka ghar, +1 own sign, +2 exalted, −2 debilitated), which lets an agent understand what the tool computes. However the verb is left implicit — it never plainly says 'computes a fortune score from a natal chart' — and it does not differentiate itself from near siblings like vedic_lal_kitab_prosperity or _life_graph.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over the many sibling tools (prosperity, life_graph, lal_kundali, dasha, etc.), and no prerequisites stated. The agent is left to infer usage entirely from the name and the scoring formula.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_lal_kundaliLal Kitab: Kundali (12-house grid)BRead-onlyIdempotentInspect
Lal Kitab kundali grid layout: 12 houses, each listing planets currently in it with state. Companion to /teva for chart visualization.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| grid | No | |
| lagna | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description usefully adds the response shape (12 houses with planets + state) and the 20-credit cost tier, which are real behavioral facts. It does not disclose anything about required inputs or server-side defaults beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences plus short metadata tags; nothing is wasted. It could be marginally tighter, but it reads cleanly and leads with the purpose rather than burying it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and annotations exist, so return-value and safety explanation burdens are lifted. Even so, for a 15-parameter chart tool the description omits the four required inputs and key defaults (Lahiri ayanamsa, house system), leaving an agent to infer call shape entirely from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 33% schema description coverage across 15 parameters, the description is expected to compensate and it does not: it never mentions date, time, latitude, longitude, ayanamsa, houseSystem, or the compact-mode fields/precision options. The one-third of parameters that are documented live entirely in the schema, so the description adds no parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource: the Lal Kitab kundali grid with 12 houses, each listing planets and their state. It also names the sibling it is a companion to (/teva for visualization), which helps distinguish it from the many other lal_kitab_* tools. Not fully differentiated from the broader Lal Kitab sibling set (debts, remedies, planet_house_effect), but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Companion to /teva for chart visualization" implies a pairing, giving some context for when to reach for this over the teva output. However, there is no explicit when-to-use/when-not guidance and no mention of prerequisites (birth data precision, ayanamsa choice) needed to call it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_life_graphLal Kitab: Life graph (age-by-age)BRead-onlyIdempotentInspect
Year-by-year (age 0..35) Lal Kitab dasha snapshot showing the running house, its ruler, and the ruler's current state in the chart. Use as a rough timing index.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| meaning | No | |
| lifeGraph | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds the age-range scope and the 20-credit Tier 2 cost, which is genuinely useful for tool selection, but says nothing about response shape or any auth requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus group/cost tags, front-loaded with the scope (age 0..35) rather than burying it. No filler, though the [Group]/[Cost] tags are metadata rather than descriptive prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and cost is disclosed. But for a 15-parameter chart computation the description is thin: it never hints at the required birth data or the timezone/ayanamsa choices the agent must supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description should compensate for the undocumented inputs (date, time, latitude, longitude, ayanamsaId, zodiacType, houseSystem, cosmogram). It instead describes no parameter at all, leaving several required and enum inputs explained only by bare schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: a year-by-year Lal Kitab dasha snapshot over ages 0–35, naming the fields returned (running house, its ruler, the ruler's state). That is clearly distinct from astroway_vedic_lal_kitab_dasha or the lal_kundali/teva siblings, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use as a rough timing index" gives an implied usage context and hedges the precision of the output. However, it offers no when-not guidance and does not route the agent toward or away from the many other Lal Kitab / dasha tools in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_planet_house_effectLal Kitab: Planet-in-house effectARead-onlyIdempotentInspect
Short summary of a (planet, house) placement per LK. Caller passes planet (0..6, 11=Rahu, 100=Ketu) and house (1..12). Currently Sun-only full data; remaining 8 planets are placeholder text; the full 144-cell reading database is a Phase 3 content task.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| house | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| planet | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| house | No | |
| effect | No | |
| planet | No | |
| pakkaGhar | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, idempotent, non-destructive read, so safety is covered. The description adds real value beyond that: it discloses a data-completeness limitation (only Sun is fully populated, the other 8 planets return placeholder text) and names the cost tier. That limitation is exactly the kind of behavioral fact that changes how an agent presents results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the operation before the parameter encoding and the data caveat; the group and cost tags are compact trailing metadata. Every sentence earns its place; only mild redundancy in restating the parameter argument names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure needn't be explained, and annotations carry the safety profile. The description covers purpose, required parameter encoding, and the content-completeness caveat. The one remaining gap is not pointing to the sibling tool that serves full Lal Kitab readings, which is minor given the otherwise complete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% and the two required integers carry no schema description, so the description must supply meaning. It does: planet is 0..6 with 11=Rahu and 100=Ketu, and house is 1..12, which the bare 'integer, min/max' schema does not convey. The optional fields and precision params are documented in the schema, so no extra compensation is needed there.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: a lookup of a (planet, house) placement rendered as a short summary per Lal Kitab. The name, title and description align, so an agent can tell this apart from broader LK tools like astroway_vedic_lal_kitab_lal_kundali or astroway_reports_lal_kitab. It stops short of explicitly naming those siblings, so it earns a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the caller provides planet and house to get a placement reading. The caveat 'Currently Sun-only full data; remaining 8 planets are placeholder text' is a genuine when-not-to-rely signal, which lifts it above bare implied usage. However, no alternative tool is named for full LK content, so routing remains inference-based.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_prosperityLal Kitab: Sukh (prosperity yoga)BRead-onlyIdempotentInspect
LK dhana yoga sum: count benefics (Moon/Mercury/Venus/Jupiter) in 2/5/9/11 houses (LK fixed). +2 each. Higher = more prosperity yoga.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sukh | No | |
| lagna | No | |
| disclaimer | No | |
| interpretation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive safety, so the bar is lower. The description adds useful behavioral context by disclosing the cost tier (20 credits, Tier 2) and by explaining how the returned score is computed and interpreted (higher = more prosperity yoga). It does not mention permissions, but for a deterministic compute endpoint with annotations covering safety this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences that put the formula first, plus terse group/cost tags. No wasted words, though the abbreviated jargon (LK dhana yoga sum) assumes domain familiarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the algorithmic rule is given. However, for a 15-parameter tool with 33% schema coverage and no usage guidance or sibling routing, key information an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes nothing about parameters - no mention of the required date/time/latitude/longitude, timezone, ayanamsa, or compact-mode fields. With low coverage the description should compensate but does not, leaving reliance entirely on the partial schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific computation: summing benefics (Moon/Mercury/Venus/Jupiter) in houses 2/5/9/11 with +2 each, so an agent knows exactly what this tool produces. It is far more specific than a tautology, but it does not name or contrast with sibling tools such as astroway_vedic_yogas_parashara_dhana or astroway_reports_lal_kitab.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many other Lal Kitab and dhana-yoga siblings, nor any exclusions or prerequisites. The only routing hint is the group and cost tag, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_remediesLal Kitab: Remedies (Upayas)ARead-onlyIdempotentInspect
Per-planet Lal Kitab remedies (upayas): the canonical Mathur-tradition remedy + day + donation + mantra. With optional planet param, returns single-planet upaya; without, returns all 9.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| remedies | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, non-destructive and closed-world, so the safety profile is handled. The description adds useful context beyond that: the exact composition of the payload and the cost/tier ('20 credits (Tier 2)'), which an agent cannot infer from annotations. It does not describe response shape, but the output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences followed by compact group/cost metadata. No sentence is redundant and the key distinction (all-9 vs single) is stated plainly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no prose, and the description still summarizes the payload and the param's dual behavior. It omits that a full natal birth payload (date/time/lat/lon) is required, but the schema marks `body` required, so the gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, but the description adds real meaning for the `planet` param that the schema lacks (the schema only types it as an integer): omitting it returns all 9 planets, supplying it returns one. That is a genuine semantic addition over the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (per-planet Lal Kitab remedies/upayas) and enumerates the returned content: canonical Mathur-tradition remedy, day, donation and mantra. This clearly distinguishes it from the many sibling Lal Kitab tools (doshas, kismat, lal_kundali, teva), which analyze rather than prescribe remedies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the two invocation modes of the `planet` param (single-planet vs all 9), which is genuine usage guidance. However, it never states when to prefer this over related siblings like lal_kitab_doshas or reports_lal_kitab, and gives no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_sleeping_houseLal Kitab: Sleeping housesCRead-onlyIdempotentInspect
Houses where a planet is in its pakka ghar with no companions/aspects. LK considers such planets dormant; remedies activate them.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| meaning | No | |
| disclaimer | No | |
| sleepingHouses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds interpretive context (dormant planets, remedies activate them) and the credit cost, which is useful, but says nothing about what is returned or how the dormant-house result should be read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus group/cost tags, front-loaded with the defining condition. No filler, though the second sentence is interpretive rather than operational.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values need not be explained, but for a 15-parameter computation tool in a dense sibling family the description omits the required birth-data inputs and any differentiation from blind_house or remedies, leaving an agent unable to confidently select it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes nothing about birth data, timezone handling, or the compact-mode fields parameter. With low coverage the description is expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the astrological concept ('houses where a planet is in its pakka ghar with no companions/aspects') but never states the action the tool performs — no verb like 'compute', 'list', or 'analyze'. An agent can infer it returns a sleeping-house analysis, but it cannot distinguish this from the close sibling astroway_vedic_lal_kitab_blind_house, which is a near-identical Lal Kitab house-classification tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no pointer to alternatives such as blind_house, remedies, or planet_house_effect despite a large Lal Kitab sibling family. The only practical cue is the cost/group tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_tevaLal Kitab: Teva (fixed-house chart)BRead-onlyIdempotentInspect
Lal Kitab teva: fixed-house chart where house = sign (Aries=1..Pisces=12), no ASC rotation. Each planet placed by sign with state (own/exalted/debilitated/neutral) + pakka-ghar match flag. YELLOW: Lal Kitab is single-school; we ship K. Ashant + R.D. Mathur consensus.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| teva | No | |
| lagna | No | |
| disclaimer | No | |
| pakkaGhars | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/destructive/openWorld, so the safety profile is covered. The description adds real value beyond that: the exact output contents (planet by sign with dignity state plus pakka-ghar match flag) and a YELLOW caveat that Lal Kitab is single-school with a specific K. Ashant + R.D. Mathur consensus, which is useful methodological transparency for trusting the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the key identifier and scoping rule, then the output shape, then the caveat. Two tight sentences with no padding; the Group/Cost tags are boilerplate metadata rather than description text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and the description does explain chart composition. But for a 15-parameter tool with 33% schema coverage and heavy sibling overlap, the absence of any usage or parameter guidance leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (33%) and the description adds no parameter meaning at all. It never touches ayanamsaId, houseSystem (default P, arguably irrelevant for a fixed-house chart), zodiacType, or cosmogram, leaving several enums/blanks undocumented in both description and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Lal Kitab teva chart) and its defining method: fixed-house where house=sign, no ASC rotation. This technical detail differentiates it from ordinary Western/Vedic chart tools, but it never names a sibling (e.g., lal_kundali or lal_kitab_lal_kundali) that an agent should compare against when choosing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool, when not to, or which alternative to prefer among the many Lal Kitab siblings (dasha, debts, kismat, life_graph). The agent is left to infer usage entirely from the chart-content description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_lal_kitab_varshphalLal Kitab: Varshphal (annual)BRead-onlyIdempotentInspect
Lal Kitab annual progression at given age. Returns the running 35-year-cycle dasha house + approximate solar-return JD for full annual chart casting.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| lagna | No | |
| varshphal | No | |
| disclaimer | No | |
| runningDashaHouse | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds useful nuance by disclosing that the solar-return JD is approximate and that the dasha house comes from a running 35-year cycle, but it says nothing about auth, rate limits, or cost implications beyond the credit tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, with the core purpose and the returned artifacts front-loaded before the group/cost metadata tags. Nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the parameters are fully documented in the schema. The only meaningful gap is the absence of sibling differentiation against the many other Lal Kitab and Varshaphal tools, which the description leaves to the reader.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the fields and precision parameters, and the body object carries a long self-description, so the baseline is 3. The description does clarify the otherwise undocumented `age` parameter by tying it to the annual progression, but that is a thin addition over what the schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (Lal Kitab annual progression) and the key output components (35-year-cycle dasha house, approximate solar-return JD). The 'Lal Kitab' qualifier implicitly separates it from the standard Varshaphal sibling, but the description never explicitly contrasts the two, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not guidance. The phrase 'for full annual chart casting' hints at intent but never states when this tool should be chosen over astroway_vedic_varshaphal, astroway_vedic_lal_kitab_dasha, or the reports_lal_kitab sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_business_startMuhurat: Business start (Vyapara)BRead-onlyIdempotentInspect
Auspicious-window scanner for starting a business / new venture. Preferred nakshatras: Pushya/Hasta/Chitra/Anuradha/U.Phalguni/U.Ashadha/U.Bhadrapada/Sravana/Punarvasu. Avoid Sun/Tue/Sat. Same scoring shape.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds domain behavioral rules (preferred nakshatras, avoided weekdays) and a credit cost, but says nothing about pagination or output volume, which matters for a scanner returning topN candidates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded lines with no filler; the domain filter comes first. 'Same scoring shape' is terse to the point of being cryptic without a reference tool named, which is the only real cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the nakshatra/weekday rules give real domain content. However, for a 10-parameter, date-window-driven scanner with 40% schema coverage, the description leaves key invocation details unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% across 10 parameters, and the description mentions no parameter at all — not the required search_window_start, not the topN cap, not ayanamsa or timezoneOffset. With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Auspicious-window scanner for starting a business / new venture'), which is enough to separate it from the many other muhurat siblings by domain. It does not explicitly name an alternative, but the business/new-venture scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and no alternative is named despite a dense sibling set (general_auspicious, investment, property_purchase, etc.). The agent is left to infer that 'business start' is the selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_education_startMuhurat: Education start (Vidyarambha)BRead-onlyIdempotentInspect
Auspicious-window scanner for starting formal education / Vidyarambha ceremony. Preferred nakshatras: Hasta/Chitra/Swati/Pushya/Sravana/Revati/Anuradha/Punarvasu/U.Phalguni/U.Ashadha/U.Bhadrapada. Avoid Sun/Tue/Sat.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuinely useful non-obvious context: the 50-credit Tier 3 cost and the built-in nakshatra/weekday selection logic. It does not explain output shape or how the window is scanned, but with an output schema present that gap is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose, then the domain rules, then group/cost metadata – no wasted prose. The nakshatra enumeration is long but functions as the tool's decision criteria and is reasonably placed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters (one required), an output schema, and thin schema descriptions, the definition leaves an agent guessing about the search-window format and how topN/lat/long interact. The cost and group tags are helpful, but the invocation surface is under-explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% and the description says nothing about the parameters it must carry: the required search_window_start date format, search_window_end, topN, or the coordinate pair. The nakshatra list is domain knowledge, not parameter semantics, so it does not compensate for the undocumented fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific function (auspicious-window scanner) for a precise occasion (starting formal education / Vidyarambha), which cleanly separates it from muhurat_marriage, muhurat_business_start, muhurat_vehicle_purchase and the rest of the muhurat family. An agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The occasion itself implies usage, but there is no explicit when-to-use routing versus the sibling muhurat scanner (e.g. muhurat_general_auspicious) and no stated exclusions or prerequisites. The nakshatra/tithi rules are domain output criteria, not invocation guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_general_auspiciousMuhurat: General auspicious windowARead-onlyIdempotentInspect
Generic favourable-window finder when no specific activity applies (Sankalpa, prayer, fallback). Universal Pushya/Hasta nakshatras + standard shubha tithis. Returns top-N days against universal Panchang criteria.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's added value is the computational basis (Pushya/Hasta nakshatras, shubha tithis, universal Panchang criteria) and the top-N output shape. It adds useful domain context without contradiction, though it omits output details and any constraints on the search window.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded single sentence stating purpose and criteria, followed by compact structured metadata (group, cost tier). Little waste, though the bracketed metadata is boilerplate rather than tool-specific guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the description covers purpose, criteria, and activity scope. It is adequate for invocation, though the sparse parameter documentation is a gap for a 10-param geo/astronomy tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, and the description adds no guidance on the key parameters (latitude, longitude, timezoneOffset, ayanamsa, fields, precision) — all of which materially affect results. Only a vague reference to 'top-N days' touches a parameter, so the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource ('favourable-window finder') and scopes it precisely as the general/fallback case for when no specific activity applies. This directly distinguishes it from the many activity-specific muhurat siblings (marriage, travel, investment, surgery, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to use it (no specific activity, Sankalpa, prayer, fallback), which by implication routes to the specific muhurat siblings when an activity does apply. No ambiguity about selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_investmentMuhurat: Investment / Dhana SthapanaBRead-onlyIdempotentInspect
Auspicious-window scanner for major investments and financial commitments (deposits, share/bond purchase, lending). Preferred nakshatras: Pushya/Anuradha/U.Phalguni/U.Ashadha/U.Bhadrapada/Hasta/Sravana. Avoid Sun/Tue/Sat.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds domain-specific selection behavior (preferred nakshatras, avoid Sun/Tue/Sat) and cost, but does not disclose return shape, scoring logic, or timezone handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Wait — reassessed: the body is two tight sentences with the key scoping front-loaded, and the group/cost tags are compact metadata. This is appropriately sized, so the score reflects efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter electional scanner with an output schema and full annotation coverage, the description establishes purpose and domain rules adequately. It is incomplete on parameter meaning and on how the scan window and location inputs affect results, leaving real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, yet the description adds no parameter-level detail (window dates, latitude/longitude, ayanamsa, precision, topN). The nakshatra list describes output criteria, not inputs, so it does not compensate for the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('auspicious-window scanner for major investments and financial commitments') and enumerates the covered activities (deposits, share/bond purchase, lending), which distinguishes it from sibling muhurat tools like property_purchase, business_start, or vehicle_purchase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The investment-specific scope clearly signals when to use this over the other muhurat siblings, and the nakshatra/day rules give operational context. It does not, however, explicitly name a sibling alternative or state exclusions, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_journey_longMuhurat: Long journey (multi-day Yatra)ARead-onlyIdempotentInspect
Auspicious-window scanner for multi-day journeys (pilgrimages, relocation travel). Stricter than short travel: Friday is excluded per Yatra prakarana. Preferred nakshatras: Punarvasu/Pushya/Anuradha/Sravana/Hasta/Mrigashira/Revati/Ashwini.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read-only profile, but the description adds real domain behavior beyond them: the Friday exclusion under Yatra prakarana and the preferred-nakshatra whitelist. It also discloses the 50-credit Tier-3 cost, which is not in the structured fields. Return format is left to the output schema, which is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose leads, discriminating detail follows, and the metadata tags sit cleanly at the end. Nearly every clause carries information; the nakshatra list is long but is genuinely tool-relevant selection criteria.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the return-value burden is off the description's plate. However, for a location-sensitive travel muhurat with 10 params, it never explains how the search window or the coordinates/timezone drive the scan, leaving a real gap against the low schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description says nothing about any of the 10 parameters. With schema description coverage at only 40%, several parameters (latitude, longitude, topN, search_window_end, precision) are undocumented in the schema as well, and the description does not compensate. The domain rules it gives do not help an agent fill or interpret any input field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("auspicious-window scanner for multi-day journeys") and concretizes it with examples (pilgrimages, relocation travel). It explicitly differentiates itself from the short-travel sibling with "Stricter than short travel," so an agent can route between the two muhurat variants without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is clear: apply this to multi-day journeys rather than short travel, and the qualifying cases (pilgrimage, relocation) are named. It stops short of explicitly pointing to astroway_vedic_muhurat_travel as the alternative for short trips, so the routing is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_marriageMuhurat: Marriage (Vivah)ARead-onlyIdempotentInspect
Auspicious-window scanner for marriage (Vivah Muhurat) over a date range. Scores each day by Tithi + Vara + Nakshatra + Yoga + Karana per Muhurta Chintamani Adhyaya 5 + B.V.Raman Muhurta Ch.6. Preferred nakshatras: Rohini/Mrigashira/Magha/Hasta/Swati/Anuradha/Mula/U.Phalguni/U.Ashadha/U.Bhadrapada/Revati. Avoid Sun/Tue/Sat. Returns top-N days sorted by score with per-day Abh…
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, and the description adds real value: the exact classical sources used, the preferred nakshatra list, the Sun/Tue/Sat avoidance rule, and the fact that output is top-N days sorted by score. It omits operational context such as credit cost and that latitude/longitude/timezone defaults will silently affect the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then evidence for the scoring method. The 11-name nakshatra enumeration is long but defensible as domain transparency; otherwise the text is dense with little waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be explained, and annotations cover the safety profile. For a 10-parameter, 40%-documented, domain-heavy tool, though, the description leaves location/timezone handling and cost unaddressed, which is a meaningful gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% across 10 parameters. The description compensates for the two conceptually important ones — the date range and top-N ranking — but says nothing about latitude/longitude/timezone, which are essential for a sunrise-anchored muhurat scan, and ayanamsaId is undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — an auspicious-window scanner for marriage (Vivah Muhurat) over a date range — and the scoring basis (Tithi, Vara, Nakshatra, Yoga, Karana). This cleanly separates it from the many sibling muhurat variants (business_start, property_purchase, general_auspicious) whose only differentiator is the event type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage well: give a date range, get scored candidate days. However it never states when to prefer this over astroway_vedic_muhurat_general_auspicious or astroway_reports_muhurta, nor any prerequisites (location/timezone needed for sunrise-based windows). Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_name_changeMuhurat: Name changeBRead-onlyIdempotentInspect
Auspicious-window scanner for legal or sacramental name change (uses Namkaran-derived rules with widened tithi set). Preferred nakshatras: Hasta/Chitra/Swati/Pushya/Anuradha/Revati/U.Phalguni/U.Ashadha/U.Bhadrapada.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, non-destructive, closed-world). The description adds genuinely new behavioral context beyond annotations: the billing cost (50 credits, Tier 3) and the underlying rule basis, which tells the agent this is a heavier, rule-driven computation rather than a generic scan.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus bracketed metadata, front-loaded with the purpose before the nakshatra detail. The nakshatra enumeration is long but carries real domain content rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the single required param is patterned in the schema. But for a 10-parameter, location-sensitive electional tool, the description omits any guidance on supplying coordinates/timezone (which default to 0) or using topN/ayanamsa, leaving meaningful gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% across 10 parameters, so the description is expected to compensate but adds nothing about search_window_start/end, topN, ayanamsa selection, or the latitude/longitude/timezoneOffset inputs that a muhurat calculation depends on. The nakshatra list describes output content, not parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('auspicious-window scanner for legal or sacramental name change') and distinguishes itself from the closest sibling (naming_ceremony) by noting it uses 'Namkaran-derived rules with widened tithi set'. It stops short of explicitly naming the alternative tool, so an agent must infer the boundary from the parenthetical.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case ('legal or sacramental name change') is implied, and the widened-tithi-set note hints at when this differs from the Namkaran ceremony tool. However, there is no explicit when-to-use/when-not statement and no sibling is named as an alternative, leaving the agent to infer the choice among the twelve muhurat siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_naming_ceremonyMuhurat: Naming ceremony (Namkaran)ARead-onlyIdempotentInspect
Auspicious-window scanner for Namkaran (naming ceremony). Wide nakshatra acceptance per classical text. Note: orthodox practice schedules Namkaran on the 11th or 12th day after birth; this scan returns top auspicious days within any caller-supplied window.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuine behavioral context beyond that: the scan returns the 'top auspicious days within any caller-supplied window' and discloses cost/tier ('50 credits (Tier 3)'), which is valuable for an agent deciding whether to invoke it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, followed by the nakshatra note and the orthodox-timing caveat, then group/cost tags. All three sentences carry useful information, though the orthodox-practice note is more context than operational guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return values need not be explained, and annotations cover the safety profile. The description supplies adequate domain framing (ceremony scope, nakshatra acceptance, window behavior) for a muhurat scanner, though it leaves the 10-parameter surface largely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% across 10 parameters, so the description is expected to compensate but does not. It alludes vaguely to 'any caller-supplied window' (the search_window params) but adds no meaning for topN, ayanamsa, timezoneOffset, precision, fields, or latitude/longitude beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Auspicious-window scanner for Namkaran') and names the ceremony, which meaningfully separates it from the many other muhurat siblings (marriage, travel, surgery, etc.). However, it does not explicitly distinguish itself from the potentially confusable siblings astroway_vedic_muhurat_name_change or astroway_vedic_muhurat_general_auspicious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The note that 'orthodox practice schedules Namkaran on the 11th or 12th day after birth' gives useful domain context, and the tool scans a caller-supplied window. But there is no explicit when-to-use / when-not guidance and no routing to sibling muhurat tools, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_property_purchaseMuhurat: Property purchase / Griha PraveshBRead-onlyIdempotentInspect
Auspicious-window scanner for purchasing or moving into property (Griha Pravesh). Preferred nakshatras: Anuradha/U.Phalguni/U.Ashadha/U.Bhadrapada/Mrigashira/Rohini/Pushya/Hasta/Sravana/Dhanishta/Shatabhisha/Revati. Avoid Sun/Tue/Sat.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful domain context (preferred nakshatras, avoided weekdays) but says nothing about the output's structure, ranking behavior, or how topN and the search window interact, leaving behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise — two sentences plus group/cost tags — with the purpose front-loaded. No wasted words, though the nakshatra list dominates and could have been summarized or deferred to a reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained. However, with 10 parameters, only 1 required, and just 40% schema coverage, the description does little to close the parameter gap or clarify how the geographic/timezone inputs affect results. It is adequate but leaves meaningful context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, so several parameters (latitude, longitude, search_window_start/end, topN, ayanamsaId) lack documentation in both schema and description. The description adds no parameter-level guidance at all, offering no compensation for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: an auspicious-window scanner for property purchase / Griha Pravesh, which is clearly distinct from the many muhurat siblings (marriage, vehicle, travel, etc.). The purpose is unambiguous, though it doesn't name the sibling it competes with directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (planning a property purchase or housewarming) and gives the auspicious criteria, but provides no explicit when-to-use vs. alternatives, no prerequisites, and doesn't distinguish from astroway_reports_muhurta or astroway_vedic_muhurat_general_auspicious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_surgeryMuhurat: Surgery (Shastrakarma)ARead-onlyIdempotentInspect
Auspicious-window scanner for elective surgery. Inverted polarity vs benefic activities: Tue/Sat (Mars/Saturn) preferred for cutting work; Sun/Mon/Thu/Fri avoided. Output is advisory only, and modern medical scheduling takes precedence.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent, non-destructive profile, so the bar is lower. The description adds genuinely useful context beyond that: the result is advisory only and modern medical scheduling takes precedence, plus the note that surgery has inverted polarity versus benefic activities. Return format and cost are left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose in the first clause, followed by the polarity caveat, then metadata tags. No wasted sentences, though the [Group]/[Cost] block is metadata rather than descriptive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the annotations carry the safety profile. What remains missing is any coverage of the 10 input parameters, particularly the required date-window and location inputs, so the definition is only minimally complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% across 10 parameters, so the description is expected to compensate and does not. It says nothing about search_window_start (the sole required param), its date format, the latitude/longitude inputs, ayanamsa selection, or topN, all of which matter for a window scanner.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (auspicious-window scanner) and the exact domain (elective surgery), which separates it from the many sibling muhurat tools (marriage, travel, business_start, etc.). An agent can tell instantly it produces timing windows, not a chart or report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The domain ('elective surgery') implies when to use it, but no sibling alternative is named and no when-not condition is given. The polarity rules (Tue/Sat preferred, Sun/Mon/Thu/Fri avoided) describe internal logic rather than selection guidance, leaving the agent to infer that this is the surgery-specific muhurat tool among the dozen siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_travelMuhurat: Travel (short Yatra)BRead-onlyIdempotentInspect
Auspicious-window scanner for short / daily travel. Preferred nakshatras: Ashwini/Pushya/Anuradha/Hasta/Sravana/Mrigashira/Punarvasu/Revati. Avoid Sun/Tue/Sat.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description usefully adds the credit cost (50 credits, Tier 3), which annotations do not convey. However it says nothing about what the scanner returns, how many windows, or date-window requirements beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus metadata tags; the purpose is front-loaded and nothing is padded. The nakshatra list is long but is genuine domain payload rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return-value explanation is unnecessary since an output schema exists, and cost is disclosed. But with 10 parameters at 40% schema coverage, the description omits the location/timezone/search-window semantics an agent needs for correct invocation, leaving a real gap for a Tier-3 paid tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% across 10 parameters, so the description must compensate and does not. It never mentions search_window_start/end, topN, ayanamsa, latitude/longitude or the compact-mode fields, leaving the agent to rely on the raw schema for the core inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Auspicious-window scanner for short / daily travel'), which distinguishes it from the general muhurat family. It does not explicitly name the sibling astroway_vedic_muhurat_journey_long, though 'short / daily travel' implicitly contrasts with long journeys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. The preferred nakshatras and days to avoid are domain result content, not instructions about when an agent should select this tool over journey_long or general_auspicious. The choice between the muhurat siblings is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurat_vehicle_purchaseMuhurat: Vehicle purchaseARead-onlyIdempotentInspect
Auspicious-window scanner for buying a new vehicle. Preferred nakshatras: Ashwini/Pushya/Hasta/Chitra/Anuradha/Revati/U.Phalguni/U.Ashadha/U.Bhadrapada/Sravana. Avoid Sun/Sat. Same scoring shape as /vedic/muhurat/marriage.
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | No | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. | |
| search_window_end | No | ||
| search_window_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| activity | No | |
| ayanamsa | No | |
| location | No | |
| search_window | No | |
| auspiciousWindows | No | |
| nextAuspiciousWindow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world, so safety is covered. The description adds genuine domain behavior beyond that: the preferred nakshatra list, the Sun/Saturn avoidance rule, the scoring-shape reference to the marriage endpoint, and the 50-credit cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence and the supporting details are terse. The trailing [Group] and [Cost] tags are metadata rather than description prose, but they carry useful information and cost little space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover the safety profile. However, for a 10-parameter tool at 40% schema coverage, the description omits how to scope the search window, location, and ayanamsa, which an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% across 10 parameters, so the description must compensate and does not. It never mentions search_window_start/end, topN, latitude/longitude, timezoneOffset, ayanamsa, or fields, leaving several params undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (auspicious-window scanning) and resource (buying a new vehicle), clearly distinguishing it from siblings like property_purchase, marriage, or business_start. An agent can select it without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'for buying a new vehicle', which is enough to route from the many muhurat siblings, but there is no explicit when-to-use statement, no when-not guidance, and no named alternative (e.g. general_auspicious or property_purchase).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_muhurta_typesMuhurat: activity catalogueARead-onlyIdempotentInspect
List the 12 supported muhurat activities (key + Sanskrit name + one-line purpose) so a client can discover them without hard-coding. Free metadata read, no calculation.
[Group: Vedic] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| activities | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower; the description adds genuine context by disclosing the item count (12), the shape of each entry, and that no calculation occurs. The '[Cost: see your plan — endpoint not in the public credit manifest]' line slightly muddies the 'Free metadata read' claim, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and its benefit are front-loaded in a single tight sentence, with no padding. The two bracketed metadata lines are purposeful (group/cost) but do dilute the crispness slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, yet the description helpfully summarizes what each entry contains. For a zero-required-param read-only catalogue, an agent has everything needed to call it, with only the cost signal left ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (fields, precision), so the schema fully documents them and baseline is 3. The description adds nothing about these compact-mode parameters, which is acceptable but not value-adding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('the 12 supported muhurat activities'), and enumerates the returned fields (key + Sanskrit name + one-line purpose). The 'no calculation' framing cleanly distinguishes it from the 12 sibling astroway_vedic_muhurat_* computation endpoints it catalogues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage ('so a client can discover them without hard-coding') and clarifies it is a free metadata read with no calculation, which tells an agent when it is appropriate. However, it never names the alternative muhurat_* tools or states an explicit when-not, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_nakshatrasNakshatrasBRead-onlyIdempotentInspect
Calculate the Nakshatra (lunar mansion) for each planet using the sidereal zodiac. Returns nakshatra name, pada, deity, and quality.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| planets | No | |
| ayanamsaId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds the sidereal-zodiac basis and the output fields, which is useful, but says nothing about credit consumption beyond the metadata tag, timezone handling, or any computation caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences stating purpose then output, followed by compact group/cost metadata. Every element earns its place, though the return-value sentence is partly redundant given the output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no prose. However, for a 15-parameter tool with low schema coverage, the description is thin: it omits any mention of required vs optional inputs, timezone/offset semantics, or the ayanamsa school choice that materially changes the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description compensates for almost none of it: ayanamsa, timezone, timezoneOffset, fields, precision, houseSystem and zodiacType are never mentioned. Only 'sidereal zodiac' loosely gestures at zodiacType/ayanamsa, so the heavy parameter burden is left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('Nakshatra (lunar mansion) for each planet') plus the sidereal scope, and names the returned fields (name, pada, deity, quality). It is clear what it does, but it does not distinguish itself from the close sibling astroway_vedic_panchang_nakshatra_of_day, which also deals with nakshatras.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use context, prerequisites, or alternative routing. An agent must infer that this is the per-planet nakshatra placement tool and that panchang_nakshatra_of_day is the different, day-level sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_panchang_choghadiaPanchang: ChoghadiaBRead-onlyIdempotentInspect
8 day + 8 night Choghadia divisions. Each ~1.5h, marked good/bad/neutral. Cycle: Udveg, Char, Labh, Amrit, Kaal, Shubh, Rog. Day-start by weekday.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sunset | No | |
| daytime | No | |
| sunrise | No | |
| nighttime | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is low. The description adds domain context (divisions, good/bad/neutral marking, cycle order) and a cost figure (20 credits, Tier 2), which is useful. It says nothing about how the result is computed or bounded (sunrise dependence, pagination/return shape), so it stays at a moderate 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core description is two tight sentences with the resource front-loaded and the cycle enumerated compactly. The [Group]/[Cost] tags are boilerplate but harmless; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, for a 15-parameter geolocation-and-time tool the description omits why latitude/longitude/time are required and how the day boundary is defined, leaving the caller to infer setup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate. It instead says nothing about date/time/latitude/longitude (required for the sunrise-based day start) or the ayanamsa/houseSystem/timezone options, leaving most parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Choghadia divisions) and its structure (8 day + 8 night, ~1.5h each, good/bad/neutral, the named cycle). An agent can tell it apart from sibling panchang tools like tithi/yoga/karana/hora. It lacks an explicit verb and does not directly name a sibling it is distinct from, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The text describes what the data contains but gives no when-to-use guidance, no exclusions, and no mention of the many alternative panchang siblings (full, tithi, yoga, rahu_kaal, etc.). The only contextual cue is the added 'Day-start by weekday' note, which is content, not usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_panchang_fullPanchang: fullBRead-onlyIdempotentInspect
Complete daily Panchang: Tithi, Vara, Karana, Yoga, Nakshatra + Choghadia + Rahu Kaal + Yamaganda + Gulika + Abhijit Muhurat. Single call.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| jd | No | |
| vara | No | |
| yoga | No | |
| tithi | No | |
| gulika | No | |
| karana | No | |
| sunset | No | |
| sunrise | No | |
| ayanamsa | No | |
| rahuKaal | No | |
| choghadia | No | |
| nakshatra | No | |
| yamaganda | No | |
| abhijitMuhurat | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuinely new context beyond annotations by disclosing the aggregation behavior ('Single call') and the pricing tier ('20 credits (Tier 2)'), which is useful for a cost-aware agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The output list is front-loaded and compact, with the group and cost tags cleanly separated. Every element earns its place, though the long enumeration of content types is borderline dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a 15-parameter tool with low schema coverage, the description should supply at least minimal guidance on the core inputs; its silence leaves the definition adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries a compensation burden it does not meet. It explains no parameter semantics at all, leaving required inputs like date/time/latitude/longitude and optional ones like fields/ayanamsa/timezone entirely to the partial schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (daily Panchang) and enumerates its contents (Tithi, Vara, Karana, Yoga, Nakshatra, Choghadia, Rahu Kaal, etc.), clearly marking it as the comprehensive aggregate. It distinguishes itself from the granular panchang siblings by being 'full' and a 'single call', though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Single call' hints at using this to get everything at once, but there is no explicit when-to-use guidance. With dedicated siblings like astroway_vedic_panchang_tithi and astroway_vedic_panchang_rahu_kaal available, the description should say when to prefer this costlier aggregate over the individual calls, and it does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_panchang_horaPanchang: HoraCRead-onlyIdempotentInspect
24 planetary hours per Chaldean order, with sunrise/sunset and day ruler.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| hours | No | |
| latitude | No | |
| sunTimes | No | |
| timezone | No | |
| dayOfWeek | No | |
| longitude | No | |
| dayRulerPlanetId | No | |
| dayRulerPlanetName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered without the description. The description adds output-shape context (what the 24 hours contain, sunrise/sunset, day ruler) and cost tier, but says nothing about timezone sensitivity, ayanamsa dependence, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, with the output content stated first and cost tacked on as a tag. No wasted sentences, though the brevity is partly under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return fields need not be explained, and the description does convey the high-level output. But for a 15-parameter, location- and timezone-sensitive tool with a documented sibling overlap, it omits all input and selection guidance, leaving the agent to infer almost everything from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not. It never mentions the required date/time/latitude/longitude inputs, nor that timezone/timezoneOffset and ayanamsa materially change the hora boundaries, which is exactly the ambiguity this tool carries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and output: 24 planetary hours (hora) assigned by Chaldean order plus sunrise/sunset and day ruler. That is concrete enough to distinguish from generic list tools, but it never names or differentiates from close siblings like astroway_calendar_planetary_hours or astroway_horary_planetary_hours, which produce overlapping concepts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. It does not say when a Vedic hora table is preferable to the calendar or horary planetary-hour tools, nor any prerequisites. The only contextual hints are the [Group: Vedic] and [Cost] tags, which are metadata rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_panchang_karanaPanchang: KaranaCRead-onlyIdempotentInspect
Half-tithi (1-60). 7 movable (Bava-Vishti) + 4 fixed (Kimstughna, Shakuni, Naga, Chatushpada).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| index | No | |
| isFixed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety surface is covered. The description adds cost context (20 credits, Tier 2) and domain framing, but it does not disclose any behavioral traits beyond that, such as computational assumptions or what the output contains. With annotations carrying the main behavioral load, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the domain definition, followed by group and cost metadata. Every line earns its place, though its brevity is partly due to under-specification rather than disciplined concision. Structurally it is clean and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-format details need not be in the description, and annotations cover the safety profile. However, for a 15-parameter tool with low schema description coverage and many sibling Panchang tools, the description omits usage context, required-input expectations, and alternatives. It is not complete enough to guide correct invocation confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 15 parameters with only 33% description coverage, and the tool description provides no parameter guidance at all. It says nothing about required inputs (date, time, latitude, longitude) or important optional controls such as ayanamsa, timezone, fields, precision, or houseSystem. For a high-parameter tool with sparse schema descriptions, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the domain concept (karana as a half-tithi, its 1-60 range, and the movable/fixed classes) but never states the tool's action, such as calculating or returning the current karana for a given time and place. It distinguishes karana from tithi and yoga by name, yet an agent must infer that this tool produces a karana result rather than another Panchang element. The purpose is recognizable but not explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like astroway_vedic_panchang_tithi, astroway_vedic_panchang_yoga, or astroway_vedic_panchang_full. The description gives no conditions, prerequisites, or alternatives, leaving the agent to guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_panchang_nakshatra_of_dayPanchang: Nakshatra of DayCRead-onlyIdempotentInspect
Moon's sidereal Nakshatra (lunar mansion) at the given moment, with Pada (1-4) and percent-complete.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pada | No | |
| nakshatra | No | |
| percentComplete | No | |
| moonSiderealLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so safety is covered. The description adds the cost tier (20 credits, Tier 2) and the exact computed output content, which is useful context, but says nothing about what inputs drive the result (notably which ayanamsa governs the sidereal position) or any limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the essential computation, followed by the output fields and bracketed cost/group metadata. No filler, though the metadata lines are boilerplate rather than tool-specific guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be re-explained, but for a 15-parameter location/time tool with only 33% schema coverage, no usage guidance, and an ambiguity around sidereal settings, the description leaves too much for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description adds zero parameter semantics. It never mentions required date/time/latitude/longitude, nor the ayanamsa choice that determines a sidereal Nakshatra (Lahiri default) despite that being the single most consequential parameter for this tool's correctness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: the Moon's sidereal Nakshatra at a given moment, plus the returned sub-fields (Pada 1-4, percent-complete). This is distinct from sibling panchang tools like tithi/yoga/karana, though the description never names those siblings or the full-panchang tool to draw the line explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative-tool guidance is given. In a family with panchang_full, tithi, yoga, karana, choghadia, rahu_kaal and a standalone nakshatras reference tool, the agent gets no help choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_panchang_rahu_kaalPanchang: Rahu Kaal blockBRead-onlyIdempotentInspect
Three inauspicious 1.5h-windows (Rahu Kaal + Yamaganda + Gulika) + Abhijit Muhurat. Position depends on weekday and sunrise/sunset.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| gulika | No | |
| sunset | No | |
| sunrise | No | |
| rahuKaal | No | |
| yamaganda | No | |
| abhijitMuhurat | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds useful domain context beyond that: the number of windows returned, their fixed 1.5-hour duration, the inclusion of Abhijit Muhurat, and the fact that placement is weekday- and sunrise/sunset-dependent. It does not disclose ayanamsa/calculation assumptions or limits, so it lands at a solid but not rich 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences with zero filler; the substantive output inventory comes first and the dependency note second. The group/cost metadata is a small, clearly separated tag block.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and annotations carry the safety profile. Still, for a 15-parameter tool with low schema coverage and no usage guidance against numerous panchang siblings, the description leaves meaningful gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 33% schema description coverage across 15 parameters, the description is expected to compensate, and it largely does not. It implicitly justifies the date/time/latitude/longitude requirement ('depends on weekday and sunrise/sunset'), but says nothing about the many other options such as ayanamsa, houseSystem, fields, precision, or timezone handling.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact outputs: three 1.5-hour inauspicious windows (Rahu Kaal, Yamaganda, Gulika) plus Abhijit Muhurat, which is far more specific than the bare title. However, it never uses an explicit verb (compute/return) and does not distinguish itself from siblings like astroway_vedic_panchang_full or astroway_vedic_panchang_choghadia, so an agent must infer the boundary from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many other panchang and planetary-hour siblings. The clause 'Position depends on weekday and sunrise/sunset' is a behavioral fact, not usage guidance, so the agent gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_panchang_tithiPanchang: TithiBRead-onlyIdempotentInspect
Lunar day (1-30): Moon-Sun elongation / 12°. Returns paksha (shukla/krishna), tithi name, % complete.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| number | No | |
| paksha | No | |
| elongation | No | |
| indexInPaksha | No | |
| percentComplete | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuinely useful context in the form of the credit cost (20 credits, Tier 2) and the return contents, but says nothing about the required coordinate/date inputs or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines that are front-loaded with the core definition, followed by tidy group and cost tags. No wasted prose, though the definition could be slightly more explicit about scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return format needn't be spelled out, and the description wisely names the key outputs. However, with 15 inputs, low schema coverage, and no sibling routing, the definition is only marginally complete for a niche Vedic endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the schema leaves many parameters (city, name, cosmogram, zodiacType, ayanamsaId, houseSystem) undocumented. The description compensates with nothing about parameters, explaining only the astronomical output, so it fails to fill the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a precise definition of the resource ('Lunar day (1-30): Moon-Sun elongation / 12°') and lists the returned values (paksha, tithi name, % complete), so an agent knows exactly what computation this is. It does not, however, distinguish itself from sibling panchang tools such as panchang_full, panchang_karana, or panchang_yoga.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many other vedic panchang siblings, nor any prerequisite guidance (e.g., that date/time/latitude/longitude are required). The only contextual note is a cost tag, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_panchang_yogaPanchang: YogaCRead-onlyIdempotentInspect
Surya-Chandra Yoga (1-27). Sum of Sun + Moon longitudes / (360/27).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| number | No | |
| sumLongitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful operational context beyond annotations — the group (Vedic) and cost (20 credits, Tier 2) — but says nothing about output shape, rate limits, or whether ayanamsa choice affects the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely compact and front-loaded: the definition of the yoga and its formula come first, metadata last. Nothing is padded, though the formula sentence is terse enough to be cryptic to a non-specialist.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astrological computation with 33% schema coverage, the description is too thin. Although an output schema exists (so return values needn't be explained), the agent gets no help on the required geotemporal inputs or on how this differs from its many Panchang siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description contributes zero parameter guidance — nothing about the required date, time, latitude, or longitude, nor the effect of ayanamsa or timezone on the computed yoga. With low coverage the description is expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — the Surya-Chandra Yoga of the Panchang — and even supplies the computation (Sun+Moon longitudes divided by 360/27), so the agent knows exactly what is produced. It does not, however, distinguish this from the sibling Panchang elements (tithi, karana, hora, etc.), leaving disambiguation to the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool, no prerequisites, and no reference to the other Panchang tools. The agent must infer that this returns one of the five Panchang limbs from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_shadbala_cheshtaShadbala: Cheshta (motional)ARead-onlyIdempotentInspect
Cheshta Bala, motional strength via simplified retrograde+speed model: retrograde=60v, direct slow=ratio*60, direct fast=(2-ratio)*60. Sun=0 (handled via Ayana with ×2), Moon=0 (handled via Paksha with ×2). Full BPHS Cheshta-Kendra method (mean-longitude based) queued for Phase Q, current divergence vs jhora ≤30v on non-stationary dates.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| unit | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description is free to add the higher-value context it does: the simplified retrograde+speed model, the explicit divergence tolerance vs jhora (≤30v on non-stationary dates), and the note that the full BPHS Cheshta-Kendra method is deferred to Phase Q. That is unusually candid accuracy/limitation disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the essential identity of the quantity, then limitations, with no filler sentences. The inline arithmetic (retrograde=60v, ratio*60) is arguably more implementation detail than an agent needs to select or invoke the tool, keeping it short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations carry the safety profile. However, for a 15-parameter tool at 33% schema coverage with no sibling routing, the description leaves both input semantics and when-to-use guidance unaddressed, which is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description is expected to compensate, and it adds no parameter guidance at all — city, date, time, latitude, longitude, cosmogram, zodiacType, and houseSystem are undocumented in both places. The Sun/Moon remark is about output values, not inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact quantity computed (Cheshta Bala / motional strength) and even specifies the model behind it, so an agent can distinguish it from sibling components like shadbala_dig, shadbala_kala, and the aggregate shadbala_full without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the computation but never states when to pick this tool over astroway_vedic_shadbala_full or the other five bala siblings, nor any prerequisite (e.g. a natal chart first). The only boundary information is that Sun/Moon return 0 and are covered by other components, which is scope rather than usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_shadbala_digShadbala: Dig (directional)BRead-onlyIdempotentInspect
Dig Bala: directional strength. 60v at preferred kendra cusp, 0v at opposite point, linear gradient. Sun/Mars→10th, Moon/Venus→4th, Jupiter/Mercury→1st, Saturn→7th.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| unit | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description usefully adds the credit cost (20, Tier 2) and the numerical output convention (60v at preferred kendra cusp, 0v at the opposite point, linear gradient), which is genuine behavioral context. It says nothing about auth or rate limits, but the added scoring semantics justify above-baseline credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense, front-loaded sentences: the metric, its scale, and the planet-to-house mapping, with no filler. The metadata tags are compact and separable from the prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description supplies the domain semantics needed to interpret them. However, for a 15-parameter tool with only 33% schema coverage, the complete absence of input guidance (required fields, ayanamsa/zodiac implications) leaves an agent under-informed about how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a heavier burden — and it contributes nothing about inputs. It never mentions the four required parameters (date, time, latitude, longitude) or options like ayanamsa, houseSystem, fields, or precision. The house numbers cited (10th, 4th, 1st, 7th) are astrological output semantics, not parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the specific quantity the tool produces (Dig Bala, directional strength) and even spells out its scoring scale and per-planet preferred houses, so the resource is unmistakable. It does not, however, distinguish itself from the sibling shadbala tools (cheshta, drik, full, kala, naisargika, sthana), which all share the same naming pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus astroway_vedic_shadbala_full or the other component balas, nor any prerequisite (e.g. that a natal chart's birth data is needed). The [Group: Vedic] and [Cost] tags give catalog context but not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_shadbala_drikShadbala: Drik (aspectual)BRead-onlyIdempotentInspect
Drik Bala, net aspectual strength per BPHS A.27.49: (benefic_drishti − malefic_drishti) / 4 + full Mercury_drishti + full Jupiter_drishti. Mercury and Jupiter aspects super-add (full weight). Vedic full drishti: 7th for all + Mars 4/8, Jupiter 5/9, Saturn 3/10.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| unit | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description usefully adds the credit cost (20 credits, Tier 2) and group tag, but says nothing about output shape or computation caveats beyond the formula.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the key term and the formula, then the drishti table, then cost/group metadata. It is dense but every clause is compact and none is redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. However, for a 15-parameter tool with 33% schema coverage and six sibling bala tools, the description omits both parameter context and sibling differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% and the description contributes zero parameter guidance, leaving city, name, cosmogram, zodiacType, houseSystem, latitude and longitude undocumented in both places. The formula text explains the algorithm, not how to feed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific concept ('Drik Bala, net aspectual strength') and gives its exact BPHS formula, so an agent knows this computes one Shadbala component rather than a full reading. It is distinguishable from sibling Shadbala tools by the aspectual focus, though it never names or contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no routing to alternatives. With siblings like astroway_vedic_shadbala_full and the other five bala components, the description should say when to pick Drik alone versus the full Shadbala; it says nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_shadbala_fullShadbala: full summaryBRead-onlyIdempotentInspect
Combined Shadbala: всі 6 типів strength + total Virupa + total Rupa per planet. Single call. Useful for Vedic chart strength dashboards.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| unit | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so safety is covered. The description adds genuinely useful non-annotation context (cost of 20 credits, Tier 2, and that it returns combined Virupa/Rupa per planet), but says nothing about pagination, auth, or output shape beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and short, with cost/group metadata clearly tagged. However, the mixed-language text ("всі 6 типів" embedded in an English sentence) hurts readability and looks like an unpolished paste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and purpose plus cost are covered. But for a 15-parameter tool with low schema coverage and no guidance on choosing it over the six component shadbala tools, the description leaves notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
15 parameters with only 33% schema description coverage, and the description mentions no parameter at all. The required four (date, time, latitude, longitude) are undocumented in both places, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it aggregates all 6 Shadbala strength types plus total Virupa and total Rupa per planet, which distinguishes it from the per-component siblings (shadbala_sthana, shadbala_dig, etc.). It doesn't explicitly name those siblings as alternatives, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Single call" and "useful for Vedic chart strength dashboards" imply the aggregate use case versus calling the six individual shadbala tools, but no explicit when-to-use/when-not rule or named alternative is given. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_shadbala_kalaShadbala: Kala (temporal)BRead-onlyIdempotentInspect
Kala Bala, sum of Nathonnatha (continuous time-from-midnight/noon), Paksha (continuous Moon-Sun elongation, Moon-doubled per BPHS), Tribhaga (3-fold split of day/night), Abda+Masa+Vara+Hora rulers, Ayana (declination-based, Sun-doubled, Mercury bidirectional). Yuddha (planetary war) deferred. Abda/Masa rulers require Vedic calendar lookup, currently zeroed (no contribution) to…
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| unit | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, yet the description still adds genuine behavioral context: Yuddha (planetary war) is explicitly deferred and the Abda/Masa rulers are 'currently zeroed (no contribution)'. That discloses a partial/stubbed implementation, which materially affects how an agent should interpret or caveat the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single compact sentence and front-loads the main concept, but it is dense with BPHS-specific jargon and parenthetical clauses, and it is visibly truncated mid-sentence ('currently zeroed (no contribution) to…'). Efficient in length, weak in accessibility and completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description does convey which sub-components are computed versus deferred. But the truncation and the total absence of parameter guidance for a 15-parameter tool leave the definition short of what an agent needs to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate, but it contributes zero parameter-level meaning (no mention of date/time/latitude/longitude, ayanamsa, house system, or compact-mode fields). The high parameter count with low coverage leaves a real documentation gap that the description does nothing to close.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the Kala Bala (temporal) component of Shadbala and enumerates its constituent sub-balas (Nathonnatha, Paksha, Tribhaga, Abda/Masa/Vara/Hora, Ayana), which lets a domain-literate agent tell it apart from sibling shadbala tools. However it never states a verb or scope explicitly ('computes the Kala component for a chart'), relying on the title to supply the framing, so it stops short of a fully self-contained purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling shadbala_* tools (full, sthana, dig, cheshta, naisargika, drik), and no indication of when to prefer this partial component over shadbala_full. Usage must be inferred entirely from the technical content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_shadbala_naisargikaShadbala: Naisargika (natural)CRead-onlyIdempotentInspect
Naisargika Bala: fixed natural strength per planet. Sun=60v, Moon=51.43, Venus=42.85, Jupiter=34.28, Mercury=25.71, Mars=17.14, Saturn=8.57.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| unit | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so safety is covered. The description adds genuinely useful context beyond that: the values are fixed constants per planet (implying the output is largely chart-independent), and it discloses the 20-credit Tier 2 cost. It says nothing about how chart inputs influence the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the definition and value table before the bracketed metadata. Efficient, though the value list is arguably output detail that could live elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return format need not be described, but for a 15-parameter tool with low schema coverage the description is silent on inputs and on how it relates to the other shadbala tools. An agent has enough to know what it computes but not enough to call it correctly or pick it over siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Fifteen parameters at only 33% schema coverage, and the description supplies no parameter information at all. Required date/time/latitude/longitude and the many optional chart-shaping fields (ayanamsa, zodiacType, houseSystem, fields, precision) are left entirely to a partially documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (Naisargika Bala) and defines it as fixed natural strength per planet, with a concrete value table that makes the output unambiguous. It does not, however, distinguish itself from the six sibling shadbala tools (cheshta, dig, drik, full, kala, sthana), so an agent cannot tell from the text alone which one to call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer shadbala_full or the other component balas, and no prerequisites. The [Group: Vedic] / [Cost: ...] tags are metadata, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_shadbala_sthanaShadbala: Sthana (positional)BRead-onlyIdempotentInspect
Sthana Bala, the sum of 5 sub-strengths: Ucchabala (exaltation), Saptavargaja (sum across 7 vargas D1/D2/D3/D7/D9/D12/D30 with Mulatrikona+Own/Friend/Neutral/Enemy weights per BPHS A.27.10-19), Ojhayugmarasyamsa (odd/even sign suitability D1+D9), Kendradi (60/30/15 angular/succedent/cadent), Drekkana (1st/2nd/3rd third gender match).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| unit | No | |
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered and there is no contradiction. The description contributes domain mechanics (which vargas, BPHS reference) but nothing behavioral beyond that, such as cost-credit implications or precision defaults. A 3 is appropriate given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense passage, front-loaded with the name and the enumeration of the five sub-strengths, with no filler sentences. The jargon load is heavy but each clause carries real information, so nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained here, and the annotations cover the safety profile. For a 15-parameter, credit-costing computation the description is a reasonable domain summary, but with 33% schema coverage some inputs (ayanamsa/zodiacType interactions, houseSystem relevance) remain unexplained on both sides.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate — and it adds nothing about date, time, latitude, longitude, ayanamsa, houseSystem, zodiacType, or the compact-mode fields. The schema does document timezone, timezoneOffset, fields and precision, but the description itself contributes zero parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what is computed: Sthana Bala and its five named sub-strengths (Ucchabala, Saptavargaja, Ojhayugmarasyamsa, Kendradi, Drekkana). This is far more specific than the title alone and clearly distinguishes it from the shadbala_cheshta/dig/drik/kala/naisargika siblings by name. It stops short of naming those alternatives explicitly, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus astroway_vedic_shadbala_full or the other five individual bala tools, nor any stated precondition (birth data required, ayanamsa defaults). The description is purely definitional, leaving tool selection entirely to the agent's inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d1Varga D1: RashiBRead-onlyIdempotentInspect
Sidereal natal sign chart (Rashi). Foundation of Vedic analysis.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description's one genuine addition is the cost disclosure (20 credits, Tier 2) plus the Vedic grouping, which are not in the schema or annotations and matter for a paid tool. It still says nothing about output form, precision defaults, or error behavior, so it is adequate-but-thin against the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus structured [Group] and [Cost] tags, front-loaded with the resource identity. Nothing is padded; it is efficient, though the terseness is a symptom of under-specification rather than economy of expression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations cover safety. However, for a 15-parameter chart tool sitting among ~16 near-identical varga siblings, the description omits sibling disambiguation and any parameter guidance, leaving clear gaps beyond what structured fields supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description carries obligation to clarify semantics, and it adds nothing—no mention of time/coordinate expectations, timezone handling, or the sidereal-vs-tropical zodiacType option. The four required inputs are self-evident, but the agent gets no help reconciling low-coverage fields such as city, name, cosmogram, and ayanamsaId.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-less but unambiguous resource: the sidereal natal sign chart (Rashi), which is the D1 varga. It also frames it as the 'foundation of Vedic analysis,' which hints at its primacy, but it never contrasts with the many varga siblings (D2, D9, D10, etc.) whose names differ only by number, so an agent must infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no alternative is named. 'Foundation of Vedic analysis' weakly implies it is the starting chart, but nothing tells the agent when to pick D1 over astroway_vedic_varga_d9 or astroway_specialized_vedic_divisional, nor are any prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d10Varga D10: DasamsaCRead-onlyIdempotentInspect
Dasamsa chart (career, profession, public reputation).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a safe, idempotent, closed-world read, so the safety profile is covered. The description adds genuinely useful planning context – the [Group: Vedic] family and the 20-credit Tier 2 cost – but says nothing about computation method, default ayanamsa, or timezone resolution behavior that a caller must know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and terse: the chart name and its interpretive purpose come first, followed by compact group/cost tags. Every element carries some signal, though the parenthetical is the only real content sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart tool with low schema coverage, this is thin. The output schema is present so return values need not be explained, but defaults (Lahiri ayanamsa, house system P) and the timezone/timezoneOffset interaction are never surfaced, leaving an agent to discover critical input semantics from the raw schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds zero parameter-level meaning. Many inputs (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId, latitude, longitude) are undocumented in both the schema and the description, so the description fails to compensate for the coverage gap as required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific resource (Dasamsa / D10 divisional chart) and its interpretive domain (career, profession, public reputation), which meaningfully distinguishes it from siblings like the D9 Navamsa or D7. However, it never names or contrasts with any sibling tool, so the agent must infer the D-number mapping itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the ~15 varga tools (D1, D2, D9, D12, etc.) or astroway_specialized_vedic_divisional. The only routing signal is the loose 'career, profession, public reputation' domain hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d12Varga D12: DwadasamsaBRead-onlyIdempotentInspect
Dwadasamsa chart (parents, ancestral karma).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds billing context (20 credits, Tier 2) and the group tag, which is useful, but says nothing about output shape, computation time, or failure modes beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely tight: one content line plus standardized Group/Cost metadata, front-loaded with the defining term. No filler or redundancy; the only knock is that the parenthetical domain hint is thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a 15-parameter divisional-chart tool with low schema coverage, the description is barely sufficient—it identifies the chart but gives no practical caller guidance. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a compensation burden it does not meet. It offers zero parameter meaning (ayanamsa, houseSystem, timezone, fields, etc. are undocumented in the description), leaving several inputs without clear semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific artifact (Dwadasamsa / D12 divisional chart) and its interpretive domain (parents, ancestral karma). The 'D12'/'Dwadasamsa' label clearly distinguishes it from the many sibling varga tools (d1, d2, d9, d60, etc.). Lacks an explicit verb, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisite, or alternative guidance. The parenthetical hint ('parents, ancestral karma') implies the interpretive context but does not tell the agent when to pick D12 over another divisional chart or the general vedic_divisional sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d16Varga D16: ShodasamsaCRead-onlyIdempotentInspect
Shodasamsa chart (vehicles, comforts, conveyances).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered by structured data. The description's one genuine addition is the cost disclosure (20 credits, Tier 2), which the annotations do not carry and which is useful for an agent budgeting calls. It says nothing about computation behaviour, determinism across ayanamsa choices, or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded: purpose first, then two bracketed metadata tags. Nothing is wasted, but the brevity tips into under-specification for a 15-parameter computation tool rather than genuine concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations carry the safety profile. However, for a 15-parameter tool the description leaves critical omissions: no statement that date/time/latitude/longitude are the birth-data inputs, no mention that ayanamsa/zodiacType materially change the result, and no routing guidance among the many varga and divisional-chart siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Fifteen parameters with only ~33% schema description coverage, and the description contributes nothing about any of them. The well-documented schema fields (fields, ayanamsa, timezone, precision, timezoneOffset) are documented by the schema, not the description, while city, name, cosmogram, ayanamsaId, zodiacType and houseSystem are undocumented in both places — a gap the description should have helped close.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource precisely — the Shodasamsa (D16) divisional chart — and adds its traditional significations (vehicles, comforts, conveyances), which meaningfully separates it from the other varga siblings such as D10 (career) or D9 (dharma). It never explicitly says it computes the chart from the supplied birth data, but the verb is implicit and the sibling naming pattern makes it inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and never names an alternative (e.g. when to pick D16 over D1/D9 or the generic astroway_specialized_vedic_divisional tool). The only supplementary text is grouping and billing metadata, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d2Varga D2: HoraCRead-onlyIdempotentInspect
Hora chart (wealth analysis, half-sign Sun/Moon division).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the cost tier ('20 credits, Tier 2') and the group tag, which is useful quota context, but says nothing about computation semantics or limits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the chart identity and meaning before the metadata tags. Nothing is padded, though the bracketed metadata lines are boilerplate rather than task guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool in a dense sibling family, the description is thin: no varga-selection guidance, no parameter help despite low schema coverage. An output schema exists, so return values needn't be described, but the input side and sibling routing are under-served.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate — and it adds nothing about any parameter. It doesn't explain the required date/time/latitude/longitude set, the ayanamsa/zodiacType interaction for a Vedic varga, or the compact-mode fields/precision options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names the specific resource (Hora/D2 chart) and adds its interpretive meaning ('wealth analysis, half-sign Sun/Moon division'), which is more than a restatement of the name. But there is no verb and no differentiation from the ~15 sibling varga tools (D1, D3, D9...), so an agent cannot tell from the text alone why D2 rather than another divisional chart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'wealth analysis' weakly implies a use case, but there is no explicit when-to-use statement, no prerequisites, and no mention of alternative varga tools. With a large D-series sibling family, this is a real routing gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d20Varga D20: VimsamsaBRead-onlyIdempotentInspect
Vimsamsa chart (spiritual progress, sadhana, religious inclination).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful context beyond that — the cost (20 credits, Tier 2) and the tool group — but says nothing about auth requirements, rate limits, or what the computation returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines, front-loaded with what the chart is and followed by structured metadata tags (group, cost). Nothing is padded, though the metadata is arguably redundant with structured tool fields rather than description prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover safety. However, for a 15-parameter chart tool sitting among fifteen near-identical varga siblings, the description omits the birth-data requirement and any differentiation guidance, leaving real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not: it explains none of date, time, latitude, longitude, city, name, zodiacType or houseSystem. The handful of well-documented params (fields, ayanamsa, timezone, precision, timezoneOffset) carry their own text in the schema, so the description adds zero parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific artifact (Vimsamsa / D20 chart) and its interpretive domain (spiritual progress, sadhana, religious inclination), which is enough to separate it from the D9/D10/D60 varga siblings on meaning rather than just on the number. It never uses a verb like 'compute' or states that it derives the chart from birth data, so it stops short of a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the parenthetical domain hint ('spiritual progress, sadhana, religious inclination') is the sole signal for when an agent should pick D20 over the other fourteen varga tools. There is no explicit when-to-use statement, no prerequisites (birth date/time/coordinates are only discoverable from the schema), and no named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d24Varga D24: ChaturvimsamsaCRead-onlyIdempotentInspect
Chaturvimsamsa / Siddhamsa chart (education, learning, academic achievement).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description usefully adds cost (20 credits, Tier 2) and group metadata, but says nothing about output shape, latency, or whether ayanamsa/house-system choices affect results — a meaningful gap for a computational chart tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with the chart identity front-loaded and metadata bracketed. No filler, though the group/cost lines are administrative rather than task-guiding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 4-required computational tool, the description gives only a name/domain and cost. Output schema existence excuses it from explaining return values, but it should still orient the agent on required birth data and the sidereal configuration parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description is obligated to compensate for the 15 parameters and does not: it mentions no parameter at all (date, time, latitude, longitude, ayanamsa, houseSystem, etc.). An agent gets no help choosing required inputs or sidereal defaults from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific chart type (Chaturvimsamsa/Siddhamsa) and its interpretive domain (education, learning, academic achievement), which distinguishes it semantically from sibling varga charts like D9 or D10. However, it never explicitly contrasts itself with the many neighboring varga tools, leaving sibling differentiation to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to prefer this varga over the other 15 divisional charts or over astroway_specialized_vedic_divisional. The parenthetical domain hints at academic topics, but there are no exclusions, prerequisites, or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d27Varga D27: SaptavimsamsaCRead-onlyIdempotentInspect
Saptavimsamsa / Bhamsa chart (strengths, weaknesses, stamina).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered without the description. The description adds only the credit cost (Tier 2, 20 credits), which is genuine but thin behavioral context; it says nothing about determinism, latency, or geographic requirements of the computation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short front-loaded line plus two bracketed metadata tags; nothing is padded or buried. The sole weakness is that brevity here reflects under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, low-coverage-schema tool in a family of ~15 near-identical varga siblings, the description omits which divisional logic applies, how inputs shape the result, and why an agent should pick D27 over another varga. The output schema covers return values, but the selection and invocation context is largely missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate, yet it mentions no parameter at all. The agent still has to infer from the schema that date, time, latitude and longitude are required and that ayanamsa/houseSystem/zodiacType alter the resulting chart.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource precisely (Saptavimsamsa / Bhamsa, the D27 divisional chart) and adds the interpretive domain ('strengths, weaknesses, stamina'), so an agent knows what it computes. It does not, however, differentiate itself from the many sibling varga tools (d1–d60), which all follow the same naming pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of what question the D27 chart answers versus D9 or D24, and no named alternative. The '[Group: Vedic]' and '[Cost: ...]' tags are metadata, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d3Varga D3: DrekkanaCRead-onlyIdempotentInspect
Drekkana chart (siblings, courage; trinal third-of-sign division).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds the credit cost (20 credits, Tier 2), which is genuinely useful billing context, plus the division rule. It says nothing about prerequisites for the birth data or how the chart is derived beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines, front-loaded with what the chart is, then group and cost tags. Nothing is padded, though the fragmentary style borders on under-specification rather than true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with 3 enums and low schema coverage, the description supplies no usage context, no parameter guidance, and no indication of what a Varga D3 result contains. The existing output schema excuses it from explaining return values, but the rest of the gap is unfilled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not - it mentions no parameter at all. Inputs such as city, name, cosmogram, zodiacType, houseSystem and ayanamsaId are left entirely to the schema, and required date/time/latitude/longitude formats are never restated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (the Drekkana / D3 divisional chart) and adds real astrological meaning the name alone does not carry: 'siblings, courage; trinal third-of-sign division'. That distinguishes it from the D1/D2/D4... siblings in the varga family. It lacks an explicit verb and never names a sibling to route away from, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_vedic_varga_d9 or astroway_specialized_vedic_divisional. An agent must infer from the tool name alone that this returns a D3 chart; the description gives no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d30Varga D30: TrimsamsaBRead-onlyIdempotentInspect
Trimsamsa chart (misfortunes, evils; uses Parashara unequal-segments formula).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent, non-destructive, closed-world computation, so safety behavior is covered. The description adds genuinely useful operational context not present in annotations: the credit cost and tier. It says nothing, however, about the formula's effect on output or any input constraints beyond what the schema carries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single tight sentence plus two bracketed tags, front-loading the chart identity and its meaning with zero filler. It is arguably a touch terse for a tool with 15 parameters, but every element present earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What is missing is selection guidance within the dense varga family and any acknowledgement of the required birth-data inputs, leaving the definition adequate but with clear gaps for a Tier 2 tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is expected to compensate for the undocumented inputs but adds nothing at all about date, time, latitude/longitude, ayanamsa, zodiacType, or houseSystem. An agent gets no help here beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific artifact (Trimsamsa / D30 divisional chart) and its astrological domain (misfortunes, evils), and pins the computation method (Parashara unequal-segments formula). Combined with the name suffix d30 and the title, an agent can distinguish it from the other varga siblings, though the description itself never contrasts them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to request a D30 chart versus the many sibling vargas (d9, d10, d60, etc.), nor any stated prerequisites. The '[Group: Vedic]' and '[Cost: 20 credits (Tier 2)]' tags are catalog metadata, not usage direction, so the agent must infer selection purely from the chart name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d4Varga D4: ChaturthamsaBRead-onlyIdempotentInspect
Chaturthamsa chart (fortune, fixed assets, real estate).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful non-annotation context — the credit cost (20 credits, Tier 2) and the Vedic grouping — but says nothing about what birth data is required, how ayanamsa choice affects the result, or how expensive calls should be batched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, purpose front-loaded before the metadata tags, with no filler. It is efficient, though the extreme brevity is partly under-specification rather than pure economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the domain keywords give the agent its main selection signal among the varga siblings. What is missing is anything about required birth data, ayanamsa/zodiac defaults, or the cost/rate implications of calling many varga tools, which matters given 15 inputs and a 20-credit price.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is the only place that could compensate and it contributes nothing — no mention of date/time/latitude/longitude requirements, the ayanamsa default, or the compact-mode fields/precision options. Several parameters (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId) are undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific artifact (Chaturthamsa / D4 chart) and its classical significations (fortune, fixed assets, real estate), so an agent knows what it produces. It does not, however, say anything that distinguishes it from the fifteen sibling varga tools beyond the implicit 'D4' in the name — no explicit contrast with D1/D9/D60.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisites, and no routing against the dense sibling set of varga/divisional tools. The parenthetical significations only weakly imply the topical context (property questions), which is inference rather than guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d40Varga D40: KhavedamsaCRead-onlyIdempotentInspect
Khavedamsa chart (auspicious & inauspicious effects, maternal lineage).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds one genuinely useful behavioral fact beyond that — the 20-credit (Tier 2) cost — but says nothing about return format, computation semantics, or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines with zero waste, front-loading the resource name before the domain note and metadata tags. It is efficient, though the extreme terseness is part of why coverage is thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a 15-parameter Vedic chart tool sitting among ~15 near-identical varga siblings the description is too thin. It gives no indication of what makes D40 distinct enough to select or how the required birth-data inputs drive the chart.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes no parameter information at all. The four required inputs (date, time, latitude, longitude) and the many optional flags (zodiacType, houseSystem, cosmogram, city, name) are left to the schema, which documents only a fraction of them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (the Khavedamsa/D40 divisional chart) and its interpretive domain (auspicious/inauspicious effects, maternal lineage). The tool name and title distinguish it from the fifteen sibling varga tools (D1–D60), but the description text itself contains no verb and no explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: nothing says when a D40 chart should be chosen over D9, D45, or astroway_specialized_vedic_divisional, nor any prerequisites or exclusions. Only a group tag and cost tier are provided, which are metadata rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d45Varga D45: AkshavedamsaCRead-onlyIdempotentInspect
Akshavedamsa chart (general life patterns, paternal lineage).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false), so the description's burden is light. It adds two non-annotation facts that matter for selection: the [Vedic] family grouping and the 20-credit Tier-2 cost. It says nothing about input expectations (birth data) or whether the chart is computed for a single moment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines that are front-loaded with the subject, so an agent gets the purpose in the first clause. The bracketed cost/group metadata is slightly toy-like but genuinely useful for routing, and there is no padding or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool in a family of fifteen near-identical varga siblings, the description omits everything that would make this tool callable with confidence: input expectations, choosing among varga divisions, and the relationship to the generic divisional endpoint. The existence of an output schema excuses it from explaining return values, but not from the selection and parameter gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33%, below the 50% threshold, so the description must compensate for undocumented parameters and does not. Fifteen parameters are present (city, date, time, name, houseSystem, zodiacType, ayanamsaId, cosmogram, etc.) and the description explains none of them; it does not even clarify that city/date/time/latitude/longitude are the birth-data inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific chart (Akshavedamsa/D45) and gives its traditional signification (general life patterns, paternal lineage), which is more than a tautology. However, it never states the action (compute/cast a divisional chart) and gives no differentiation from the fourteen sibling varga tools (D1, D2, D3, D9, D60, and notably astroway_specialized_vedic_divisional). An agent can only tell them apart by decoding the D-number from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. The only selector offered is the credit cost line, which tells the agent the price but not the condition under which this chart is the right choice versus another varga or a full kundli.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d60Varga D60: ShashtiamsaBRead-onlyIdempotentInspect
Shashtiamsa chart (past karma, the most subtle divisional; high precision needed in birth time).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context the annotations lack: the 20-credit Tier 2 cost and the birth-time precision sensitivity. It stops there — no latency, caching, or reliability notes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: the purpose sentence comes first, followed by structured [Group] and [Cost] tags. No filler, though the single sentence carries little operational detail, which is a completeness issue rather than a conciseness one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values need not be explained since an output schema exists, and annotations cover safety, so the description is not required to carry those. But for a fine-grained Vedic varga tool in a huge sibling family it gives no routing or parameter guidance, leaving the agent to infer differentiation from the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 params, so the description must compensate — and it provides zero parameter-level meaning (no mention of date/time formats, timezone, ayanamsa, house system, or the compact-mode fields). At low coverage with no compensating text, this is a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (Shashtiamsa / D60 divisional chart) and adds its interpretive meaning ('past karma, the most subtle divisional'), so an agent knows this computes the D60 varga. It does not, however, explicitly distinguish this from the fifteen other varga_* siblings beyond the inherent D60 label.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit 'use this instead of D9/D30' routing and no when-not guidance across the large varga family. The one implicit guideline is 'high precision needed in birth time,' which warns the agent that this chart is only meaningful when the birth time is accurate — useful but not a full selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d7Varga D7: SaptamsaCRead-onlyIdempotentInspect
Saptamsa chart (children, progeny).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description escapes the harshest penalty. But beyond the cost/group labels it discloses nothing behavioral: no note that results depend on the ayanamsa/house-system defaults, no mention of the compact-mode parameters, no hint about determinism or output shape. For a compute tool with heavy parameter interplay, this is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short segments, front-loaded with the chart identity and the meaning gloss, then structured metadata. Nothing is wasted, though 'children, progeny' is mildly redundant and the benefit line (why a caller would run D7) is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Has an output schema, so return values needn't be explained, and annotations cover read-only safety. But for a 15-parameter tool with low schema coverage sitting among 15 sibling vargas, the description leaves the agent without usage routing, parameter guidance, or any behavioral context – well short of what the complexity demands.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33%, so the description must compensate for 15 parameters, and it compensates for none. It mentions no coordinate, date/time, ayanamsa, timezone, or compact-mode field, leaving the agent with the raw schema plus required-field inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific chart name and the astrological domain it governs ('Saptamsa chart (children, progeny)'), which is enough for an agent already in Vedic territory to identify it. However, it never says what the tool actually returns or does (compute/derive a divisional chart from birth data), nor distinguishes scope from the D1/D9/D10 siblings beyond the D-number.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus the ~15 other varga tools or the vedic_divisional aggregate. The 'children, progeny' gloss is the only hint, and it never explains the triggering condition (a question about progeny, a fifth-house analysis) or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varga_d9Varga D9: NavamsaBRead-onlyIdempotentInspect
Navamsa chart (spouse, dharma; the most important divisional chart in BPHS Vedic analysis).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| lagna | No | |
| varga | No | |
| planets | No | |
| ayanamsa | No | |
| julianDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds one genuinely useful non-schema behavior: a cost of 20 credits (Tier 2). It says nothing about limits or what the response contains, so 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed fragments with no filler, and the chart identity is front-loaded. Slightly telegraphic, but every element carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but for a 15-parameter tool with 33% coverage the description should at least signal timezone/location handling or when to prefer D9. It leaves real gaps that the schema alone does not close.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds no parameter meaning at all. Required fields like date/time/latitude/longitude rely purely on patterns and types, and the description does nothing to compensate for the undocumented params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific chart artifact (the Navamsa / D9 divisional chart) and its significations (spouse, dharma), which lets an agent distinguish it from the ~20 sibling varga tools indexed by division number. It does not explicitly say 'compute/generate', but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'spouse, dharma' parenthetical implies the domain of use, but there is no explicit statement of when to select D9 over D1/D10/D60 or what prerequisites apply. Usage is inferable but not spelled out, and no alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_varshaphalVarshaphal: Tajika annual chartBRead-onlyIdempotentInspect
The Tajika annual chart for one year of life. Cast on the moment the SIDEREAL Sun returns to its natal longitude, which for an adult sits many hours away from the tropical solar return and therefore on a different ascendant: the gap runs 0.4 h at age 1, 3.3 h at 10, 7.0 h at 20, 12.5 h at 36 and 17.2 h at 50. Returns the year entry to the second, the sidereal annual chart, the…
[Group: Vedic] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data plus a year, for the Tajika annual chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude, longitude and year. Coordinates do NOT default to 0 here as they do on other chart endpoints. The chart is cast on the SIDEREAL solar return, which for an adult is many hours away from the tropical one and therefore a different ascendant. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bala | No | |
| note | No | |
| year | No | |
| cusps | No | |
| muntha | No | |
| sahams | No | |
| planets | No | |
| pravesh | No | |
| ayanamsa | No | |
| ascendant | No | |
| varshesha | No | |
| candidates | No | |
| isDayBirth | No | |
| ayanamsaName | No | |
| yearsElapsed | No | |
| varsheshaByStrength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description adds genuinely useful behavioral context — that the chart is cast on the sidereal (not tropical) return and lands on a different ascendant, with age-dependent hour offsets. It stops short of describing cost, failure modes, or the full returned payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first sentence, which is good. But the enumerated hour-gap table (0.4 h at age 1 … 17.2 h at 50) is scholarly padding that does not help an agent select or invoke the tool, and the truncated ending leaves the paragraph unfinished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and the input schema is fully described. The description supplies the conceptual context an agent needs — what a Varshaphal/Tajika chart is and why it differs from a solar return — making it largely complete for this read-only chart endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body/year/fields/precision and the entry-latitude pair. The description adds no syntax or constraint detail beyond the schema; baseline 3 is appropriate when structured fields do the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource — the Tajika annual chart for one year of life — and pins down the casting rule (sidereal Sun return to natal longitude). It distinguishes itself from the tropical solar-return tool by explaining why the ascendant differs, so an agent can separate it from astroway_prognostics_solar_return. The trailing 'Returns the year entry to the second, the sidereal annual chart, the…' is cut off, leaving the output description incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contrasts the sidereal return with the tropical one and quantifies the gap by age, which implies when a sidereal annual chart is the right choice. However, it never states explicitly when to use this tool versus the tropical solar return sibling, nor any prerequisites or exclusions — usage must be inferred from the astronomical background.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_jaimini_daridraYogas: Jaimini Daridra yogaBRead-onlyIdempotentInspect
Jaimini Daridra yoga: AK + AmK both in dusthanas (6/8/12), poverty/struggle flag. Remedies recommended.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| school | No | |
| details | No | |
| present | No | |
| lagnaSign | No | |
| atmakaraka | No | |
| amatyakaraka | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds that remedies are recommended in the output, giving some behavioral context. It doesn't describe response format or the cost being 20 credits is noted but not elaborated beyond the tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences plus metadata tags. The yoga condition and outcome are front-loaded. The cost/group tags are useful metadata, though the remedies note could be integrated more tightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a computational astrology tool with an output schema and annotations covering safety, the description is adequate to identify the yoga but doesn't explain what the output contains beyond a 'poverty/struggle flag' and remedies. Given the many sibling yoga tools, more differentiation would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33%, so several parameters (name, city, cosmogram, zodiacType, houseSystem) lack documentation. However, the description adds no parameter-level meaning for the required birth data (date, time, latitude, longitude), which are self-evident. Baseline 3 is appropriate given partial schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific yoga (Jaimini Daridra) and defines its astrological condition (AK + AmK both in dusthanas 6/8/12) with a stated outcome (poverty/struggle flag). This distinguishes it from siblings like jaimini_dhana or jaimini_raja, though it doesn't explicitly reference those siblings by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the other jaimini yoga tools (dhana, raja, viparita, shubha_graha, full). The 'Remedies recommended' note hints at output but doesn't help an agent choose. The agent must infer usage from the yoga's definition alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_jaimini_dhanaYogas: Jaimini Dhana yogaBRead-onlyIdempotentInspect
Jaimini Dhana yoga: AK or AmK in 2nd / 11th from lagna. Wealth indicator.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| school | No | |
| details | No | |
| present | No | |
| lagnaSign | No | |
| atmakaraka | No | |
| amatyakaraka | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful non-schema context — the group tag and the 20-credit Tier 2 cost — plus the interpretive framing as a wealth indicator, but says nothing about what the result contains or how ayanamsa/house settings affect the computation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: the yoga rule comes first, then group and cost metadata. Nothing is padded, though the metadata lines are administrative rather than task-guiding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the core yoga definition is given. Still, for a 15-parameter chart tool whose results depend heavily on ayanamsa and house system, and which sits among a dozen near-identical yoga siblings, the definition is thin on configuration and routing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes no parameter meaning at all. The four required inputs (date, time, latitude, longitude) are self-evident, but the influential optional settings for a Jaimini calculation — ayanamsa, zodiacType, houseSystem, fields, precision — get no help from the description, so it fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific technique (Jaimini Dhana yoga) and even states its defining rule — AK or AmK in the 2nd/11th from lagna — which tells an agent exactly what is being computed. It does not, however, differentiate itself from the many sibling yoga tools (jaimini_daridra, jaimini_raja, jaimini_full, parashara_dhana), so an agent cannot route between them from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the broader jaimini_full or the Parashara dhana yoga sibling. The agent is left to infer that this is one narrow yoga among a family of near-identical tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_jaimini_fullYogas: Jaimini full summaryBRead-onlyIdempotentInspect
Composite Jaimini yoga summary: Raja / Dhana / Daridra / Viparita with karaka details.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| raja | No | |
| dhana | No | |
| school | No | |
| daridra | No | |
| viparita | No | |
| lagnaSign | No | |
| atmakaraka | No | |
| amatyakaraka | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds the credit cost (Tier 2, 20 credits), which is genuinely useful behavioral context absent from annotations, but says nothing about output shape or computational load beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One purpose sentence plus metadata tags, front-loaded with the resource and its contents and free of filler. The brevity is appropriate to the sentence style, though for a 15-parameter tool it borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. What remains missing is usage context and any parameter guidance for a 15-param chart tool, leaving the definition barely adequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate — and it contributes nothing about parameters at all. It gives no hint that date/time/latitude/longitude are the required birth-data inputs or how ayanamsa/houseSystem affect the yoga computation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Jaimini yogas) and names the contents (Raja / Dhana / Daridra / Viparita with karaka details), which is more informative than the bare title. It does not, however, distinguish itself from the near-identical siblings astroway_vedic_jaimini_yogas or the individual raja/dhana/daridra/viparita tools beyond the word 'Composite'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not, or alternative routing is given. The '[Group: Vedic] [Cost: 20 credits (Tier 2)]' tag hints that this is a pricier roll-up versus the cheaper single-yoga siblings, but the description never states that tradeoff, so the agent must infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_jaimini_karakamsaYogas: Karakamsa chart (12-house projection)BRead-onlyIdempotentInspect
Karakamsa = Atmakaraka's sign in D9 Navamsha, treated as lagna for a 12-house projection. Each house carries canonical iṣṭa-devata / moksha / spiritual significations per Sanjay Rath. Yogas surfaced: 5th-house planet = Ishta Devata; 12th-house planet = Moksha Indicator.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| yogas | No | |
| houses | No | |
| karakamsa | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description usefully adds cost tier (20 credits, Tier 2) and the Vedic group tag, which annotations do not convey, but says nothing about output shape, determinism of the projection, or what ayanamsa/house-system choices imply for the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences: definition, house significations, then the concrete yoga rules. No fluff, though the bracketed group/cost metadata is appended rather than integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. The domain concept is explained adequately, but for a 15-parameter, 4-required astrological computation the definition omits any guidance on how the input parameters (notably ayanamsa and house system) alter the Karakamsa result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only ~33% schema description coverage, the description carries a compensation burden it does not meet. It adds no meaning for date, time, latitude, longitude, ayanamsa, houseSystem, or the compact-mode fields — all of which materially affect a Karakamsa calculation (e.g. the D9 depends on ayanamsa).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (the Karakamsa 12-house projection) and states exactly what it computes, including which yogas are surfaced (5th-house = Ishta Devata, 12th-house = Moksha Indicator). It does not, however, differentiate itself from near-siblings like astroway_vedic_jaimini_atmakaraka_navamsa or astroway_vedic_jaimini_yogas, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this tool over the many jaimini_yogas_* and atmakaraka_* siblings, no prerequisites, and no exclusions. The agent must infer usage purely from the domain concept.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_jaimini_karaka_yogaYogas: Jaimini Karaka yoga (all 8 karakas)BRead-onlyIdempotentInspect
Scans every chara karaka (Atmakaraka..Darakaraka) for house-based yogas. Each karaka in kendra/trine/dusthana receives a strength score and manifestation hint (e.g. "Atmakaraka-in-5: creative/spiritual purpose"). Returns 8 yogas with karaka role + house + strength 0-100.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| yogas | No | |
| summary | No | |
| atmakaraka | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (read-only, idempotent, non-destructive, closed-world), so the description's job is to add context - and it does: it discloses the return cardinality (8 yogas), the fields per result (karaka role + house + strength 0-100), the meaning of the kendra/trine/dusthana scoring, and the cost (20 credits, Tier 2). No mention of rate limits or caching, but the added context is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences followed by group and cost metadata; nothing is redundant. Slightly dense packing of return details, but every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart tool the description is not fully adequate: it fails to cover the undocumented parameters or the timezone/offset interaction, though the shared chart-input conventions are presumably familiar from sibling tools. Return values are well covered even though an output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Fifteen parameters with only ~33% schema description coverage, yet the description mentions no parameter at all - no note that date/time/lat/long are required, that ayanamsa and timezone interact, or what 'fields'/'precision' compact mode does. It leaves the description-coverage gap entirely unfilled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Scans'), resource ('every chara karaka, Atmakaraka..Darakaraka'), and target ('house-based yogas'), and describes what is returned. It implicitly separates itself from astroway_vedic_jaimini_karakas by scanning all 8 karakas for yoga results rather than listing karakas, but it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the purpose statement: an agent can infer this is the yoga-strength view over the chara karakas. There is no explicit when-to-use, no prerequisites, and no statement of when to prefer jaimini_yogas or jaimini_karakas instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_jaimini_rajaYogas: Jaimini Raja yogaBRead-onlyIdempotentInspect
Jaimini Raja yoga: Atmakaraka in Lagna/Kendra OR conjunct Amatyakaraka. Sources: Jaimini Sutras 2.x + Sanjay Rath modern commentary.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| school | No | |
| details | No | |
| present | No | |
| lagnaSign | No | |
| atmakaraka | No | |
| amatyakaraka | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful context beyond that — the textual sources (Jaimini Sutras 2.x, Sanjay Rath commentary) and the 20-credit Tier 2 cost — but says nothing about how the yoga is scored or what the evaluation covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely tight: the yoga definition, its sources, and the group/cost metadata are all front-loaded with no filler. Every clause carries information an agent can use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and annotations cover safety. The definition of the yoga condition is complete for interpretation, but the absence of any guidance on this tool's relationship to the sibling yoga tools leaves a real gap for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description contributes no parameter meaning at all. The four required birth-data fields are self-evident, but ayanamsa, zodiacType, houseSystem, and the compact-mode fields are left to the schema (or undocumented) with no clarification from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the exact astrological condition being computed (Atmakaraka in Lagna/Kendra OR conjunct Amatyakaraka), which tells an agent what this tool evaluates. It distinguishes itself from the many jaimini yoga siblings (dhana, daridra, viparita, karaka_yoga) by naming the Raja yoga variant, though it never uses an explicit verb like 'compute' or 'detect'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to invoke this versus astroway_vedic_yogas_jaimini_yogas, jaimini_karaka_yoga, or jaimini_full. The agent must infer from the name that this is a single-yoga check, but nothing states that or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_jaimini_shubha_grahaYogas: Shubha-graha (functional natures)BRead-onlyIdempotentInspect
Functional benefic / malefic identification per Lagna-lord ownership. Returns each of the 7 visible grahas with natural nature + functional nature (yogakaraka / functional-benefic / neutral / functional-malefic / maraka) + houses owned + reasoning per BPHS Adhyaya 34 kendradhipati & maraka rules.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lagna | No | |
| marakas | No | |
| planets | No | |
| yogakarakas | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a safe, read-only, idempotent, closed-world operation, so the safety profile is covered. The description adds genuine behavioral context by naming the methodology (BPHS Adhyaya 34 kendradhipati and maraka rules) and the exact scope of the payload (7 visible grahas), but it says nothing about permissions, latency, or determinism beyond what annotations supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first phrase, followed by a compact enumeration of return fields, and the group/cost metadata is clearly delineated. Slightly dense with domain jargon but no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description is not obligated to explain return values, yet it does so helpfully. However, for a 15-parameter astrological calculation where ayanamsa and house system change results, the absence of any parameter or setup guidance leaves a real gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description contributes zero parameter information — no mention of birth data, ayanamsa selection, or zodiac/house-system choices that materially affect this Vedic calculation. With 15 parameters including three enums, the description fails to compensate for the thin schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific analytical output: functional benefic/malefic identification based on Lagna-lord ownership, and enumerates the returned data (natural nature, functional nature categories, houses owned, reasoning). It is clearly distinguishable from generic Jaimini yoga tools, but it never explicitly contrasts itself with the many sibling yogas/dignities tools (e.g. astroway_vedic_jaimini_yogas, astroway_vedic_jaimini_karakas).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternatives among the large family of Vedic/Jaimini siblings. The reader must infer from the title that this is the tool for functional nature classification rather than, say, karakas or raja-yoga detection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_jaimini_viparitaYogas: Jaimini Viparita Raja yogaBRead-onlyIdempotentInspect
Reverse Raja yoga: AK in 6/8/12, success after struggle. Per Sanjay Rath modern commentary.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| school | No | |
| details | No | |
| present | No | |
| lagnaSign | No | |
| atmakaraka | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds the interpretive source ('Per Sanjay Rath modern commentary'), which is mild but real context about the output's doctrinal basis. It does not disclose computation inputs, latency, or credit implications beyond the cost tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very compact and front-loaded: the yoga definition leads, attribution follows. The [Group]/[Cost] tags are machine-readable metadata that earn their place by signaling the 20-credit tier, though they are boilerplate rather than description prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so returns need not be explained, and annotations cover safety. However, for a 15-parameter calculation tool the description never signals the required birth-chart inputs or how it relates to the broader Jaimini yoga family, leaving a genuine input-side gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the three required core inputs (date, time, latitude, longitude) carry no schema descriptions. The description says nothing about parameters or the birth-data required, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific named yoga (Viparita Raja yoga / reverse Raja yoga) and its defining condition (AK in 6/8/12) plus its meaning (success after struggle). This distinguishes it from sibling Jaimini yoga tools like raja, dhana, daridra and karaka_yoga. It stops short of explicitly saying it computes/detects the yoga from a birth chart, so it is clear but not maximally explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus astroway_vedic_yogas_jaimini_raja, _full, _dhana or _daridra, no prerequisites, and no note that birth data is required. The reader must infer usage entirely from the tool name and the concept being described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_parashara_adhiYogas: AdhiCRead-onlyIdempotentInspect
Adhi Yoga: benefics (Mercury, Venus, Jupiter) in 6th, 7th, 8th houses from Moon. Maha Adhi Yoga when all three benefics are positioned там. Powerful for status and prosperity.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| school | No | |
| details | No | |
| present | No | |
| strength | No | |
| lagnaSign | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds the cost tier (20 credits, Tier 2), which is genuinely useful context. It says nothing about return structure, though the output schema exists, and its concept text does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded with the yoga definition, and metadata is clearly bracketed. However it contains a stray non-English token ('там') and spends its limited space defining the concept rather than the operation, so the structure does not fully serve tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter calculation tool with only 33% schema coverage, the description omits any mention of the required birth-data inputs, sidereal/ayanamsa options, or how to scope the result. An output schema exists so return values need not be explained, but the invocation-critical gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description mentions no parameters at all — not the required date/time/latitude/longitude, nor ayanamsa, houseSystem, or the compact-mode fields. With low coverage the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the Adhi Yoga concept (benefics in 6th/7th/8th from Moon) and hints it is 'powerful for status and prosperity', but never states the tool's action — no verb like 'compute' or 'detect whether the yoga is present'. Against many sibling yoga tools (parashara_full, raja, dhana, gajakesari) there is no differentiation of what this one returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no reference to alternatives such as astroway_vedic_yogas_parashara_full or other yoga tools. The agent must infer that this is a targeted single-yoga calculation rather than the full yogas report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_parashara_dhanaYogas: Dhana (wealth)ARead-onlyIdempotentInspect
Dhana Yoga: lords of wealth houses (1, 2, 5, 9, 11) connected via conjunction, mutual graha drishti, or strict parivartana.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| school | No | |
| details | No | |
| present | No | |
| lagnaSign | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is fully covered. The description adds an implementation detail about the detection method (conjunction, graha drishti, parivartana) but does not disclose return format or cost behavior beyond the [Cost] tag. With annotations carrying the burden, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that front-loads the key condition. The group and cost tags are useful metadata. No words are wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description tells the agent exactly what the tool computes (a specific yogic condition). Since an output schema exists, return values need not be explained. It could mention that the result is binary (present/absent) or list detected yoga instances, but the core completeness is good for a detection tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33% across 15 parameters. The description does not explain any input parameters (date, time, latitude, longitude, ayanamsa, etc.). However, the schema itself provides descriptions for many fields (e.g., fields, ayanamsa, timezone, precision), so the description's marginal value is minimal. Baseline 3 is appropriate given that most parameter documentation lives in the schema despite low coverage percentage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific technique (Dhana Yoga) and defines the precise astrological condition: lords of wealth houses 1, 2, 5, 9, 11 connected via conjunction, mutual graha drishti, or strict parivartana. This clearly differentiates it from the sibling astroway_vedic_yogas_parashara_raja, _adhi, etc. It is not a tautology, but it does not explicitly name its Parashara-yoga siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description defines what the tool detects but offers no when-to-use guidance or alternatives. Sibling tools like astroway_reports_money and astroway_financial_wealth_house exist for wealth analysis, but the description does not point to them. Usage is implied by the name and description, but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_parashara_dharma_karmadhipatiYogas: Dharma-KarmadhipatiBRead-onlyIdempotentInspect
Dharma-Karmadhipati Yoga: lord of 9th (Dharma) and lord of 10th (Karma) conjunct, in mutual graha drishti (full Vedic aspects), or single planet rules both. Exceptionally fortunate combination.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| school | No | |
| details | No | |
| present | No | |
| lagnaSign | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful non-schema context: the group ('Vedic') and a cost of 20 credits (Tier 2). It does not disclose other behavioral details such as auth requirements or output format, but the annotation baseline is already strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the yoga definition comes first, followed by useful metadata tags. The one interpretive sentence ('Exceptionally fortunate combination') is brief and does not bloat the text, though it is more flavor than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. Still, for a 15-parameter tool with low schema description coverage, the description is incomplete—it omits any mention of required inputs, usage context, or how this yoga tool relates to its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate. It says nothing about any parameter—not the required birth data (date, time, latitude, longitude) nor the optional ayanamsa, houseSystem, or compact-mode fields. The agent gets no parameter guidance beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the specific Vedic yoga this tool targets (9th and 10th lords conjunct, in mutual graha drishti, or one planet ruling both), making the resource clear. However, it never states the action the tool performs (e.g., 'computes' or 'detects'), and it does not distinguish itself from the near-identical sibling astroway_vyp_dharma_karmadhipati.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Nothing in the description says when to use this tool versus the many other yoga tools (e.g., astroway_vedic_yogas_parashara_full, astroway_vedic_yogas_parashara_raja, astroway_vyp_dharma_karmadhipati). There are no prerequisites, exclusions, or routing hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_parashara_fullYogas: Parashara full reportARead-onlyIdempotentInspect
Combined Parashara yoga report: runs all 6 detectors (Raja/Dhana/Dharma-Karmadhipati/Pancha-Mahapurusha/Gajakesari/Adhi) and returns one structured response.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| adhi | No | |
| raja | No | |
| dhana | No | |
| school | No | |
| lagnaSign | No | |
| gajakesari | No | |
| panchaMahapurusha | No | |
| dharmaKarmadhipati | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered; the description adds genuinely new context — that all six detectors run server-side and return one structured response, plus the 20-credit Tier 2 cost. It does not discuss rate limits or response shape, but the output schema covers the latter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence carrying the aggregate identity and detector list, followed by two bracketed metadata tags. No filler, and the most selection-relevant fact (it runs everything) comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, multi-detector report the description covers what it does and what it costs, and the output schema handles return values. It omits any parameter guidance and any explicit routing advice versus the six individual yoga tools, leaving meaningful gaps for such a complex call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description says nothing about any of the 15 parameters (birth date/time, coordinates, ayanamsa, timezone, campos, compact-mode fields/precision). With schema description coverage at only 33%, several parameters are undocumented in both places, so the description fails to compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Combined Parashara yoga report') and enumerates exactly which six detectors it aggregates, which are themselves sibling tools. An agent can distinguish this aggregate from astroway_vedic_yogas_parashara_raja/_dhana/etc. without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'Combined' plus the list of the six constituent detectors implies this is the one-shot alternative to calling them individually, but the description never states that explicitly or says when a single-detector call is preferable. Usage is inferable rather than stated, and no exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_parashara_gajakesariYogas: GajakesariBRead-onlyIdempotentInspect
Gajakesari Yoga: Jupiter in a kendra (1, 4, 7, 10) from Moon. One of the most-cited classical combinations.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| school | No | |
| details | No | |
| present | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered by structured data. The description adds the domain rule being checked and a cost/tier indicator (20 credits, Tier 2), which is useful context an agent can't get from annotations, but it says nothing about what the response contains or how the presence/absence result is shaped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with the yoga criterion front-loaded and cost/group metadata fenced off into bracketed tags. No filler, though the second sentence ('one of the most-cited classical combinations') is decorative rather than operational.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values don't need explanation, and the cost tier is disclosed. However, for a 15-parameter calculation tool with low schema coverage, the description leaves the agent without any sense of which inputs drive the result or when to prefer this single-yoga tool over the aggregate yoga tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds zero parameter-level information — no hint about which inputs are required (date, time, latitude, longitude) or how ayanamsa/houseSystem affect the yoga calculation. The description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific yoga (Gajakesari) and gives its exact technical criterion (Jupiter in a kendra — 1, 4, 7, 10 — from the Moon), which pins down precisely what the tool evaluates and distinguishes it from generic yoga tools like parashara_full. The verb is only implied (it doesn't literally say 'detects/reports'), but the resource and scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this instead of the many sibling yoga tools (parashara_full, pancha_mahapurusha, jaimini_*). The agent gets a definition of the yoga but no routing guidance or prerequisites beyond the cost note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_parashara_pancha_mahapurushaYogas: Pancha Mahapurusha (5 great)BRead-onlyIdempotentInspect
5 Mahapurusha yogas: Ruchaka (Mars), Bhadra (Mercury), Hamsa (Jupiter), Malavya (Venus), Sasha (Saturn). Each formed when respective planet is in its own/exalted sign AND in a kendra (1/4/7/10).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yogas | No | |
| school | No | |
| lagnaSign | No | |
| presentCount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, read-only, idempotent, closed-world computation, so the description's main extra is the credit cost (20 credits, Tier 2), which is genuinely useful for an agent deciding whether to spend budget. It says nothing about return shape, but an output schema exists. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences that front-load the yoga names and formation rule, followed by short metadata tags. Nothing is padded; the parenthetical planet list earns its space by disambiguating the Sanskrit names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter chart-computation tool, the description supplies the domain knowledge an agent needs to know what a Mahapurusha yoga is, and annotations plus an output schema cover safety and returns. It still omits the essential input premise (that a full birth chart must be supplied) and any sibling routing, leaving gaps for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, and the description adds zero parameter meaning — no mention of the required birth data (date, time, latitude, longitude) or the less obvious controls (ayanamsa, zodiacType, houseSystem, precision, fields). With low coverage the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (the five Pancha Mahapurusha yogas) and enumerates each one with its ruling planet (Ruchaka/Mars ... Sasha/Saturn), making the computed output unambiguous. It does not, however, distinguish this tool from close siblings such as astroway_vyp_pancha_mahapurusha or astroway_vedic_yogas_parashara_full, so an agent still has to guess which to call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the other yoga tools (vyp_pancha_mahapurusha, parashara_full, jaimini_viparita, etc.). The only routing-like information is the [Group: Vedic] tag, which is categorization, not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vedic_yogas_parashara_rajaYogas: Raja (royal)ARead-onlyIdempotentInspect
Raja Yoga detection per BPHS A.36-37: sambandha between kendra-lord (1/4/7/10) and trikona-lord (1/5/9) via 1) conjunction, 2) mutual graha drishti (full Vedic aspects: 7th universal + Mars 4/8, Jupiter 5/9, Saturn 3/10), or 3) strict parivartana (specific pair-swap of houses).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| school | No | |
| details | No | |
| present | No | |
| lagnaSign | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive safety, and the description usefully adds the cost tier ('20 credits (Tier 2)') and the exact analytical method. It does not, however, describe output shape or any behavioral caveats beyond the algorithm, so it adds moderate value over the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose and source citation, then enumerates the three criteria compactly. The bracketed Group/Cost lines are efficient metadata. It is dense but each clause is informative; a slight tightening of the jargon-heavy criteria list is possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and annotations exist, so return values and safety need not be restated, and the purpose is fully covered. However, for a 15-parameter Vedic chart tool the absence of any parameter or prerequisite context (e.g. ayanamsa default, required birth data) leaves an agent under-informed about correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters at 33% schema description coverage, the description carries a large compensation burden but supplies zero parameter guidance. It never explains the required birth data (date/time/lat/long) or the meaning of ayanamsa, houseSystem, or the compact-mode fields — the key Vedic-specific inputs are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Raja Yoga detection per BPHS A.36-37') and even enumerates the three technical criteria (sambandha via conjunction, graha drishti, parivartana). This clearly distinguishes it from close siblings like astroway_vedic_yogas_jaimini_raja and astroway_vedic_yogas_parashara_dharma_karmadhipati, which a bare name could not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the detection conditions in depth but gives no explicit when-to-use or when-not guidance relative to the many sibling yoga tools (jaimini_raja, dharma_karmadhipati, parashara_full). Usage is implied by the purpose rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vyp_dharma_karmadhipatiYogas: Dharma-KarmadhipatiBRead-onlyIdempotentInspect
Dharma-Karmadhipati Yoga: lord of 9th (Dharma) and lord of 10th (Karma) conjunct, in mutual graha drishti (full Vedic aspects), or single planet rules both. Exceptionally fortunate combination.
[Group: Vedic] [Cost: 20 credits (Tier 2)]
(Cursor-friendly alias for astroway_vedic_yogas_parashara_dharma_karmadhipati.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| school | No | |
| details | No | |
| present | No | |
| lagnaSign | No | |
| contributingPlanets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description usefully adds the group tag ([Vedic]) and the cost tier (20 credits, Tier 2), which is real behavioral context, but says nothing about what the response contains or how the yoga detection is reported.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded and followed by compact metadata tags and the alias note. Every line is short and functional, though the yoga definition sentence is dense with untranslated Sanskrit jargon that a general agent may not parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description adequately states what the tool computes, but for a 15-parameter tool with low schema coverage and many sibling yoga tools, it omits any usage context or discrimination guidance, leaving the agent to guess when this is the right call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate for the gaps. It adds no parameter meaning at all, leaving half-documented params like zodiacType, cosmogram, and precision without narrative explanation beyond their schema entries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific astrological definition of the Dharma-Karmadhipati Yoga (9th and 10th lords conjunct, in mutual graha drishti, or one planet ruling both), so an agent knows exactly what condition is computed. It does not distinguish itself from the many sibling yoga tools (parashara raja, dhana, gajakesari, jaimini variants) beyond noting it is a Cursor-friendly alias of the parashara version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no comparison to the numerous sibling yoga tools. The only routing hint is the parenthetical alias note, which tells the agent this is a duplicate of `astroway_vedic_yogas_parashara_dharma_karmadhipati` but not why or when to prefer either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_vyp_pancha_mahapurushaYogas: Pancha Mahapurusha (5 great)BRead-onlyIdempotentInspect
5 Mahapurusha yogas: Ruchaka (Mars), Bhadra (Mercury), Hamsa (Jupiter), Malavya (Venus), Sasha (Saturn). Each formed when respective planet is in its own/exalted sign AND in a kendra (1/4/7/10).
[Group: Vedic] [Cost: 20 credits (Tier 2)]
(Cursor-friendly alias for astroway_vedic_yogas_parashara_pancha_mahapurusha.)
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yogas | No | |
| school | No | |
| lagnaSign | No | |
| presentCount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so safety is covered. The description adds genuine operational facts beyond them: the 20-credit Tier 2 cost and the fact that this is a Cursor-friendly alias of astroway_vedic_yogas_parashara_pancha_mahapurusha. It says nothing about auth needs, rate limits, or how results are returned, but with output schema present that gap is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences front-load the essential yoga definitions, followed by clearly delimited bracket metadata for group and cost. No filler; the only slight inefficiency is that the alias note trails at the end rather than being surfaced earlier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully explains the domain meaning of the yogas, and an output schema exists so return values needn't be described. However, for a 15-parameter computation tool with low schema coverage, it omits the required birth-data inputs and prerequisite context, leaving the definition only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description is expected to compensate but adds zero parameter guidance. It never mentions date, time, latitude, longitude, timezone handling, ayanamsa selection, or the compact 'fields' mode, leaving several undocumented inputs to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact yogas (Ruchaka/Mars, Bhadra/Mercury, Hamsa/Jupiter, Malavya/Venus, Sasha/Saturn) and the precise formation rule (own/exalted sign + kendra 1/4/7/10), so an agent knows what this computes. The action verb is only implied (the title carries 'Yogas'), and it doesn't contrast itself against sibling yoga tools like astroway_vedic_yogas_parashara_full, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing guidance. It states what the yogas are but never tells the agent under what user intent to pick this tool over the other parashara/jaimini yoga siblings, nor that a birth date/time/place is required input.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_dasha_changeRegister Dasha-Change WebhookCInspect
Fires on Vedic Vimshottari dasha period transitions.
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| event | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write profile (readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false), so the safety bar is lower. The description usefully adds cost ('10 credits (Tier 1)') and the group tag, but says nothing about delivery behavior, payload shape, auth, or whether the registration persists — meaningful gaps for a subscription-creating mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: the trigger condition comes first, followed by compact group/cost metadata tags. Nothing is padded, though the terseness borders on under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained. But for a webhook-registration mutation with a required undocumented parameter and no annotations covering the subscription lifecycle, the description should say more about what registering actually does, the delivery target, and any limits — none of which is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 67%, and the single required parameter 'url' has no description at all in the schema. The description adds no parameter meaning whatsoever, so it fails to compensate for the undocumented required field. It neither clarifies what URL is expected nor references fields/precision.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific event ('Vedic Vimshottari dasha period transitions'), which does distinguish it from siblings like mahadasha_end or retrograde_start. However, it describes the trigger, not the action — it never states that the tool registers/creates a webhook. The verb only appears in the title, so the description alone leaves the actual operation implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no reference to alternatives, despite a large family of sibling webhook tools (mahadasha_end, sign_ingress, transit_trigger, etc.) that an agent must choose between. The agent gets no help deciding when a dasha-change subscription is the right choice versus a streaming tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_eclipse_alertRegister Eclipse-Alert WebhookBInspect
Subscribe to upcoming eclipse alerts (default 7 days before).
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| event | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-readonly, non-destructive, non-idempotent, open-world operation. The description adds genuinely useful context the annotations do not carry: the credit cost (10 credits, Tier 1) and the default lead time of 7 days before the event. It does not disclose delivery format, retry/duplicate behavior implied by idempotentHint=false, or any auth/verification requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with the action front-loaded and no wasted prose. The bracketed [Group]/[Cost] metadata is terse and informative rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. However, for a webhook registration tool the description omits practical essentials: whether the endpoint must be publicly reachable, whether registration can be duplicated, and how it relates to the many sibling webhook and streaming tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: 'fields' and 'precision' are well documented in the schema, while the required 'url' has no description. The description adds nothing about any parameter, and its '7 days before' default implies a configurable lead time that does not exist as a parameter, which may mildly mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: subscribing to eclipse alerts, with a concrete behavioral detail (default 7 days before). It is clear what the tool does, but it does not distinguish itself from the generic astroway_webhooks_subscribe or the streaming eclipse tools (astroway_stream_eclipse_incoming), so an agent cannot route between them from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over astroway_webhooks_subscribe or the stream_* eclipse siblings, and no stated prerequisites (e.g. whether a public URL or account is required). The 'default 7 days before' hint is a behavior detail, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_idGet Webhook SubscriptionCInspect
Fetch a single webhook subscription owned by the authenticated user.
[Group: Webhooks] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook id, as returned by `GET /v1/webhooks`. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | No | |
| event | No | |
| active | No | |
| created_at | No | |
| failure_count | No | |
| last_delivery_at | No | |
| last_status_code | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Fetch a single webhook subscription', which is a read operation, yet the annotations declare readOnlyHint=false and idempotentHint=false. That mismatch means an agent relying on annotations would expect this call to mutate state; the description does not correct this or explain any side effects, so it contradicts the annotation profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and wastes no words, and the group/cost metadata is compact. The cost note is genuinely useful since it flags that pricing is not in the public manifest.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and it correctly covers the ownership scope. It is largely complete, though the annotation inconsistency leaves the safety profile unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the three parameters (id, fields, precision) are already documented with examples and semantics. The description adds no parameter meaning beyond the schema, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (fetch), resource (webhook subscription), and scope (single, owned by the authenticated user), which distinguishes it from the many event-specific webhook tools. It does not explicitly distinguish itself from the sibling astroway_webhooks_webhooks, presumably the list endpoint, but 'single' implies the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative tool is named. An agent must infer that this is the detail-lookup counterpart to the list endpoint rather than being told.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_id_testTest Webhook DeliveryAInspect
Fire a synthetic delivery to the registered URL with { "test": true } payload. Useful when validating endpoint signature handling. Records the result in failure_count / last_status_code.
[Group: Webhooks] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook id, as returned by `GET /v1/webhooks`. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| delivered | No | |
| duration_ms | No | |
| status_code | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorld=false). The description goes beyond them by disclosing the exact synthetic payload and the side effect that the result is recorded in failure_count / last_status_code — a non-obvious mutation of the webhook's health stats. It still doesn't say whether the test counts toward rate limits or affects real subscribers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with what happens, then why, then the side effect. The trailing cost/group tags are boilerplate but short and clearly separated; nothing in the core prose is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. Between them the description covers action, payload, and side effect; the main lingering gap is cost, which is flagged as unknown rather than resolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so `id`, `fields`, and `precision` are fully documented in the schema. The description adds only the framing that `id` resolves to a registered URL with a fixed payload; it says nothing about the compact-mode params, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it fires a synthetic test delivery to the webhook's registered URL with a fixed `{"test": true}` payload. That distinguishes it from the list/get sibling `astroway_webhooks_id`, though no sibling is named explicitly and the registry of webhook tools is large.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Useful when validating endpoint signature handling" gives one genuine use case, but there is no when-not guidance (e.g. that this is a smoke test, not a real event trigger) and no mention of how it relates to siblings like `astroway_webhooks_subscribe` or the specific event webhooks. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_mahadasha_endRegister Mahadasha-End WebhookCInspect
Fires N days before a Vimshottari mahadasha ends.
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| event | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds useful context beyond annotations: the event timing and a cost of 10 credits (Tier 1). It omits auth requirements, delivery behavior, and how N is set, but with annotation coverage a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loads the event trigger, and uses bracketed tags for group and cost without wasting words. It is appropriately sized, though the unexplained 'N days' is an unresolved detail rather than structural clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But for a webhook registration tool with three parameters and 67% schema coverage, the description omits how N is configured, what registration entails, and any auth or delivery context, leaving it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with fields and precision documented in the schema but url undocumented. The description adds no parameter meaning and introduces 'N days,' which has no corresponding parameter, so it neither compensates for the coverage gap nor helps the agent understand inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific event trigger: fires N days before a Vimshottari mahadasha ends. That distinguishes it from sibling webhooks like astroway_webhooks_dasha_change or astroway_webhooks_retrograde_end. However, it does not explicitly say it registers a webhook or mention the required url, leaving the registration action to the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of alternatives among the many webhook siblings, and no prerequisites. The description also references an undefined 'N days' lead time without explaining how it is configured.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_planetary_hour_tickRegister Planetary-Hour-Tick WebhookCInspect
Fires at every planetary hour boundary (24/day).
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| event | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds two genuinely useful facts beyond structured data: expected frequency (24/day) and cost (10 credits, Tier 1). It does not disclose auth requirements, or what happens on duplicate registration for a non-idempotent create.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very compact and front-loaded: the trigger frequency leads, followed by terse Group and Cost metadata. No wasted prose, though the cost/group tags are bracketed metadata rather than explanatory text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent registration mutation with 40+ sibling tools, the description omits what the tool actually creates, auth/prerequisite needs, and any differentiation from sibling webhook tools. An output schema exists so return values need no explanation, but the missing action verb and usage routing leave real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%; the required 'url' parameter has no description in either the schema or the description. 'fields' and 'precision' are well documented in the schema itself, so the description adds no parameter value and leaves the one mandatory argument completely unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the event trigger ('Fires at every planetary hour boundary (24/day)') but never states the action the tool performs, which is registering a webhook. The verb is only implied by the tool name and title. An agent can infer it from 'astroway_webhooks_*' naming, but the description itself describes the webhook's firing behavior rather than what this call does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sibling webhook/subscription tools, including the near-neighbor astroway_stream_planetary_hour_changes. No prerequisites (auth, existing subscription, deduplication) are mentioned. The Group tag hints at the family but routes nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_retrograde_endRegister Retrograde-End WebhookBInspect
Fires when any of Mercury–Pluto stations direct.
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| event | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write/idempotency profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true). The description adds two genuinely useful behavioral facts not in the annotations: the event scope (all planets Mercury through Pluto) and the cost (10 credits, Tier 1). It says nothing about delivery semantics, persistence, retry behavior, or how to remove the webhook.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded lines with no filler; the trigger condition comes first and the metadata brackets are compact. The cost/group metadata is arguably structured data rather than description prose, but it costs little space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a stateful webhook registration the description omits the essentials: whether the endpoint must be publicly reachable, what HTTP payload is delivered, whether multiple registrations are allowed, and how the subscription is cancelled. Given the dense webhook/stream sibling set, this is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: fields and precision are well documented in the schema, while the required url parameter carries only format/maxLength constraints and no description. The description adds no parameter meaning at all, so it neither compensates for the url gap nor improves on the documented params. Baseline 3 is appropriate at this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Combined with the title, the description identifies a specific event source ('Mercury–Pluto stations direct'), which distinguishes it from the sibling astroway_webhooks_retrograde_start. However, the sentence describes the event rather than the tool action ('registers a webhook'), so the agent must rely on the name to know what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (auth, endpoint requirements), and no routing to alternatives such as astroway_webhooks_retrograde_start or astroway_stream_retrograde_alerts, even though the sibling list shows several near-overlapping event subscription tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_retrograde_startRegister Retrograde-Start WebhookCInspect
Fires when any of Mercury–Pluto stations retrograde.
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| event | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and openWorldHint=true, so the mutation profile is covered. The description adds genuinely useful context beyond that: the exact event that fires it and the 10-credit Tier 1 cost. It still omits auth requirements, payload shape, and whether duplicate registrations are allowed — notable given idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the triggering condition and followed by compact group/cost metadata. Nothing is wasted, though the single event sentence is doing less than it could.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for an open-world, non-idempotent registration tool, the description leaves out how the registration behaves (delivery, dedup, auth), which is the main remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: 'fields' and 'precision' are well documented in the schema while 'url' relies on its uri format alone. The description adds nothing about any parameter, so with the schema doing most of the work, baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the trigger event (Mercury–Pluto stationing retrograde) but never says the tool registers a webhook, so the action itself is only inferable from the name and title. It does implicitly distinguish itself from astroway_webhooks_retrograde_end via 'start', but the verb+resource framing is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to register this webhook versus polling alternatives such as astroway_stream_retrograde_alerts, nor any note about prerequisites, auth, or how it relates to the retrograde_end sibling. The agent must guess the usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_return_dueRegister Return-Due WebhookCInspect
Fires N days before a solar/lunar/planetary return is exact.
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| event | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, and non-idempotent, so the safety profile is partly covered. The description adds useful context in cost (10 credits, Tier 1) and grouping, but discloses nothing about delivery behavior, retries, or subscription lifecycle, which matters for a non-idempotent external webhook.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One core sentence plus two compact metadata tags; nothing is wasted and the trigger condition is front-loaded. It is short but arguably under-specified rather than bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and cost/group context is supplied. However, for a non-idempotent webhook registration the description leaves the 'N days' lead-time and delivery semantics unexplained, and the required URL's role in registration is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%; 'fields' and 'precision' are well documented in the schema, while 'url' relies on format=uri. The description adds no parameter meaning, and its 'N days before' phrasing implies a lead-time setting that no parameter actually exposes, which is mildly misleading.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the triggering event ('Fires N days before a solar/lunar/planetary return is exact'), which conveys what the webhook reacts to, but it describes the event rather than the registration action implied by the title 'Register Return-Due Webhook'. It offers no differentiation from the dozen or so sibling webhook tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this webhook versus the many sibling webhooks (eclipse_alert, retrograde_start, transit_trigger, etc.), nor any prerequisites for registration. The agent must infer selection entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_sign_ingressRegister Sign-Ingress WebhookBInspect
Fires when any tracked planet ingresses a new sign.
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| event | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, so the mutation/open-world profile is covered. The description adds event semantics and a credit cost, but says nothing about delivery method, what happens on duplicate registration (relevant given idempotentHint=false), or rate/limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded lines with no filler; the trigger condition comes first and the group/cost metadata is compact. Nothing is wasted, though it is arguably under-specified rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a webhook registration tool the description omits what registration actually does, delivery expectations, and how the required URL is used. Adequate as an event label, incomplete as a tool definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: fields and precision are documented in the schema, but the required 'url' parameter has no description anywhere, and the description does not compensate. With a required, undocumented parameter, this falls below the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the concrete event ('any tracked planet ingresses a new sign'), which cleanly distinguishes it from sibling webhooks like retrograde_start, eclipse_alert, and void_of_course_start. However, it never states the action the tool performs — that it registers a subscription to a URL — leaving that to the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this webhook over astroway_stream_ingress or other streaming/webhook siblings, nor any prerequisites (auth, URL requirements, duplicate registration). The only implicit signal is the event name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_subscribeCreate Webhook SubscriptionBInspect
Subscribe to outbound webhook deliveries. Events: report-ready, transit-alert, eclipse-alert. Returns a signing_secret used to verify the X-AstroWay-Signature HMAC-SHA256 header on each delivery.
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| event | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | No | |
| event | No | |
| active | No | |
| created_at | No | |
| signing_secret | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a write (readOnlyHint=false), non-idempotent, and open-world. The description adds genuinely useful context beyond that: the returned signing_secret, the X-AstroWay-Signature HMAC-SHA256 verification scheme, and a 10-credit cost. It stops short of disclosing lifecycle behavior (update vs duplicate subscription, cancellation).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded, followed by compact group/cost tags. Every element is relevant, though the partial event list wastes space by being incomplete rather than illustrative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists (so return structure need not be explained), and the description still usefully surfaces the signing_secret and cost. But for a write/subscription tool it omits usage routing against the many webhook siblings and gives an incomplete event enumeration, leaving real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, and the description's event list is misleading: it names three events (report-ready, transit-alert, eclipse-alert) while the schema enum allows twelve, so an agent may wrongly assume those are the only valid values. The fields/precision semantics are already documented in the schema, so the description adds little and arguably introduces confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Subscribe to outbound webhook deliveries') and names the triggering events, so the agent knows this creates a subscription rather than consuming one. However, it never distinguishes itself from the many per-event webhook siblings (e.g. astroway_webhooks_transit_trigger, astroway_webhooks_retrograde_start), which look like overlapping routes to the same events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no prerequisites, no statement of when to prefer this generic subscribe over the event-specific sibling tools, and no note on whether re-subscribing to the same event is expected. The agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_transit_triggerRegister Transit-Trigger WebhookBInspect
Subscribe to natal-transit aspect threshold-crossings.
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | No | |
| event | No | |
| active | No | |
| signing_secret | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already disclose that this is a non-read-only, open-world, non-idempotent, non-destructive operation. The description adds useful cost context ('10 credits (Tier 1)') and grouping, but does not cover authentication needs, delivery behavior, duplicate handling, or what happens on repeated subscription calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, with purpose first and metadata tags after. Every sentence and tag carries information without unnecessary wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, return-value semantics need not be explained. The annotations cover the safety profile, and the description provides cost and group context, but it leaves usage routing and parameter purpose gaps for a webhook-registration tool with many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-level meaning beyond the schema. Schema coverage is 67%, and the required 'url' parameter has no schema description, so the description could help by explaining the callback URL or compact-field usage, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Subscribe to natal-transit aspect threshold-crossings.' This clearly identifies the tool as a webhook registration for a particular type of transit event, but it does not explicitly differentiate from nearby siblings such as astroway_stream_transit_alerts or the generic astroway_webhooks_subscribe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or alternatives are given. With many webhook and streaming siblings available, the description does not explain when an agent should choose this tool over astroway_stream_transit_alerts, astroway_webhooks_subscribe, or other webhook variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_void_of_course_startRegister VOC-Start WebhookCInspect
Fires at the start of every VOC Moon period.
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| event | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the mutation and side-effect profile is covered. The description usefully adds the trigger timing and a cost (10 credits, Tier 1), but does not explain that registering persists an endpoint, whether repeated calls duplicate subscriptions, or any auth requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded with no filler; the group and cost tags are compact. It is terse rather than verbose, though the brevity contributes to the missing action verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but the description leaves the core action (registering a webhook endpoint) implicit and offers no guidance on duplicate registration or lifecycle. Adequate but with a notable gap for a state-creating tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: the 'fields' and 'precision' parameters are well documented in the schema, while 'url' relies on format=uri. The description adds nothing about parameters, so it does not compensate for the undocumented required 'url' beyond what the schema conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the trigger event ('Fires at the start of every VOC Moon period') but never says what the tool itself does — namely, register a persistent webhook. An agent reading only the description could mistake it for an event stream rather than a subscription-registration call. The name/title disambiguate, but the description itself only partially conveys the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives among the many webhook/stream siblings (e.g. astroway_stream_void_of_course vs astroway_webhooks_subscribe). The only supplementary info is group and credit cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_webhooks_webhooksList Webhook SubscriptionsCInspect
List all active webhook subscriptions for the authenticated user.
[Group: Webhooks] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| subscriptions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description describes a read/inventory operation ('List all active...'), yet annotations declare readOnlyHint=false and idempotentHint=false, which assert a non-read, non-idempotent operation. That is an annotation contradiction: an agent relying on the hints would assume listing mutates state. The only behavioral value added is the explicit 10-credit (Tier 1) cost, which is real but does not offset the inconsistency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the scope qualifiers front-loaded, plus compact [Group] and [Cost] tags that carry genuinely useful operational metadata. Nothing is wasted, though the single sentence is arguably thin for a listing tool that may paginate or return large result sets.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the cost tag covers billing. However, for a list endpoint there is no mention of pagination, result limits, or ordering, and the read-only/annotations conflict leaves the agent unsure whether the call is safe — a meaningful gap given the tool's sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents `fields` (compact-mode dotted paths) and `precision` (decimal rounding). The description adds nothing about either parameter, so the baseline 3 is appropriate; no parameter meaning is lost, but none is contributed either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('List') and resource ('webhook subscriptions') and narrows scope to 'active' subscriptions 'for the authenticated user', which distinguishes it from siblings like astroway_webhooks_subscribe (create) and astroway_webhooks_id (single record). It is clear and specific, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use / when-not-to-use guidance and no alternative named, even though the sibling set contains an obvious complement (astroway_webhooks_subscribe to create, astroway_webhooks_id to fetch one, astroway_webhooks_id_test to test). The agent must infer that this is the discovery/inventory call. Scope of 'active' is stated but not what makes a subscription inactive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_wellness_biorhythmBiorhythm (JSON)ARead-onlyIdempotentInspect
Physical (23d), emotional (28d) and intellectual (33d) cycle values per day, plus the critical days where a cycle crosses zero. Data twin of POST /render/biorhythm.
[Group: Wellness] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| rangeEnd | No | ||
| birthDate | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| rangeStart | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| days | No | |
| range | No | |
| cycles | No | |
| birthDate | No | |
| disclaimer | No | |
| criticalDays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description's only added behavioral facts are the cost (10 credits, Tier 1) and the no-write data nature — real value, but thin; it says nothing about rate limits, caching, or what happens if the date range is omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences that lead with the actual data content, followed by a compact metadata block for group and cost. Nothing is redundant, though the bracketed metadata is bolted on rather than integrated into the prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value shape needn't be explained. But for a date-range-driven tool the description fails to state the default window when rangeStart/rangeEnd are absent, and it does not clarify the required vs optional inputs — gaps an agent cannot resolve from the structured fields alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% and the description adds nothing about any of the five parameters. Crucially it never explains that birthDate is required nor what rangeStart/rangeEnd do or what the default range is when they are omitted, and it is silent on the compact-mode fields/precision options that the schema only partially documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the exact resource (biorhythm), the three cycles with their period lengths (23d/28d/33d), and the extra output (critical zero-crossing days). It also distinguishes itself from the sibling astroway_render_biorhythm by calling itself the 'data twin of POST /render/biorhythm', so an agent can route between JSON data and rendered image without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'data twin' phrasing implies this is the structural-data counterpart to the render tool, which is a useful implicit routing cue. However, there is no explicit when-to-use statement, no mention of the other wellness siblings (astroway_wellness_cycle, astroway_wellness_sleep_cycles), and no stated preconditions such as whether a natal chart must exist first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_wellness_crystalsHealing Crystals by SignCRead-onlyIdempotentInspect
Primary + supportive crystals + intentions per zodiac sign.
[Group: Wellness] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| sunSign | No | |
| crystals | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful non-annotation context: the 10-credit Tier 1 cost and the Wellness grouping. It says nothing about latency, whether results are cached, or how the sign is derived, but with annotations carrying the behavioral burden a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, no filler, and the payload is front-loaded ahead of the group/cost tags. But the brevity is under-specification rather than efficiency: at 15 parameters and 33% schema coverage, this tool needed more sentences, not fewer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Everything else is missing: no usage routing against a near-identical sibling, no explanation of why birth data is required for a sign-based lookup, and no parameter detail to offset the 33% schema coverage. For a 15-parameter, 10-credit call, the description is not sufficient to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is obligated to compensate and it does not. It explains zero parameters. Most notably, a tool billed as 'by sign' requires date, time, latitude and longitude, and the description never explains that the sign is computed from natal data rather than passed directly — a significant semantic gap for the caller.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the concrete payload (primary + supportive crystals + intentions) and the scoping dimension (per zodiac sign), so the resource is identifiable. However, it uses a noun fragment rather than a verb, and it does nothing to distinguish itself from the near-duplicate sibling astroway_esoteric_crystals_by_zodiac_sign, nor from the broader astroway_esoteric_crystals family. That omission is costly given how crowded this namespace is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing at all. The '[Group: Wellness]' and cost tags are metadata, not guidance. The absence is especially damaging because an agent has no way to decide between this tool and astroway_esoteric_crystals_by_zodiac_sign, astroway_esoteric_crystals_recommend, or astroway_wellness_herbs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_wellness_cycleWellness Cycle MilestonesBRead-onlyIdempotentInspect
Age-based wellness milestones (Saturn return, Uranus opposition, hormonal shifts), nearby + full list.
[Group: Wellness] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| birthDate | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| targetDate | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ageYears | No | |
| nearbyMilestones | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), and the output schema covers return values. The description adds useful operational context by disclosing the group and the 10-credit Tier 1 cost, but says nothing about auth, rate limits, or what 'nearby' means operationally.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one compact sentence with the core purpose front-loaded, followed by scoped metadata lines for group and cost. Every element earns its place, though the parenthetical examples slightly lengthen the opener without changing agent behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, output-schema-backed tool, the description adequately conveys purpose and output scope. However, it leaves usage routing and the roles of birthDate/targetDate unstated, which are the remaining gaps an agent needs to call this correctly versus siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: birthDate and targetDate have no descriptions, only patterns. The description's 'age-based' and 'nearby' wording hints that birthDate drives the computation and targetDate anchors 'nearby', but it never explains these two undocumented parameters or their format, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('age-based wellness milestones') and gives concrete examples (Saturn return, Uranus opposition, hormonal shifts), plus the output scope ('nearby + full list'). It is clear what the tool returns, but it does not explicitly differentiate itself from overlapping siblings like astroway_family_saturn_return_cycles or astroway_wellness_sleep_cycles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling to prefer for overlapping age-cycle content. The 'nearby + full list' clause describes output scope but gives no selection guidance, leaving usage to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_wellness_dietDietary SuggestionsCRead-onlyIdempotentInspect
Element-based dietary focus: emphasize/avoid foods + cooking style.
[Group: Wellness] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| diet | No | |
| element | No | |
| sunSign | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely behavioral fact not in the annotations, the billing cost (10 credits, Tier 1), but says nothing about computation source, latency, or whether the element basis is derived from the supplied birth data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single substantive sentence is front-loaded and waste-free, and the grouped metadata lines are compact. The only minor inefficiency is that the bracketed metadata occupies space without helping selection much, but nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a 15-parameter tool with three enums and a terse schema, the description omits everything an agent needs to call it correctly: that a full birth moment and coordinates are required, what the element basis is, and how sidereal vs tropical selection affects the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description supplies no parameter guidance at all: it never explains that date/time/latitude/longitude are required birth data, nor what ayanamsa, zodiacType, houseSystem, or the compact-mode 'fields'/'precision' options do. For a low-coverage schema the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific domain (diet) and concrete output content ('emphasize/avoid foods + cooking style'), with the 'element-based' qualifier indicating the astrological derivation. It is clear what the tool returns, but it does not distinguish itself from wellness siblings like herbs, crystals, or exercise that could plausibly be requested in the same context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_wellness_herbs or astroway_pet_diet_by_sign. The agent must infer from the name alone that this tool applies to a person's natal/element profile rather than a pet or a general wellness query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_wellness_exerciseExercise RecommendationsCRead-onlyIdempotentInspect
Element-based intensity + recommended/avoid activities.
[Group: Wellness] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| sunSign | No | |
| exercise | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, and destructiveHint=false, so the safety and idempotency profile is fully covered. The description adds only the cost (10 credits, Tier 1) and group, which is useful but doesn't disclose return format, computation basis, or limits beyond what structured fields provide. With annotations carrying the main behavioral load, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single terse fragment plus two bracketed metadata lines. It is short, which is good, but it is under-specified rather than concise; it lacks the front-loaded clarity an agent needs to select the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter (many undocumented) tool with an output schema and rich annotations, the description is far too sparse. It doesn't explain the element-based logic, what 'recommended/avoid activities' contains, or how intensity is derived, leaving the agent without enough context to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% and there are 15 parameters. The description mentions nothing about any parameter, leaving many (city, name, date, time, latitude, longitude, zodiacType, houseSystem, etc.) undocumented in both schema and text. It fails to compensate for the low coverage, so it scores below the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (exercise activities and intensity) tied to elements, which is a specific concept, but it doesn't clearly distinguish this from siblings like astroway_wellness_yoga, astroway_wellness_diet, or astroway_pet_exercise_needs. It's a vague fragment rather than a clear verb+resource statement, leaving the agent to infer the tool's exact purpose from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives like astroway_wellness_yoga or astroway_wellness_diet, nor any mention of prerequisites or exclusions. The agent gets no routing help among the many wellness siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_wellness_herbsHerbs by Planetary RulerCRead-onlyIdempotentInspect
Herbs ruled by sign's traditional planetary lord (Culpeper). Includes all 7 classical planets.
[Group: Wellness] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sunSign | No | |
| disclaimer | No | |
| herbsForRuler | No | |
| allPlanetHerbs | No | |
| traditionalRuler | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuinely useful billing context (Group: Wellness, 10 credits Tier 1), but says nothing about how the chart inputs are consumed or what the herbs output is keyed to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The prose is two tight sentences with the core fact (Culpeper rulership, 7 classical planets) front-loaded, followed by compact metadata lines. Nothing is padded, but the structure leaves no room for the input explanation the tool needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, but the description omits the essential framing that this is a chart-derived lookup requiring location and time. For a 15-parameter tool with 4 required chart inputs, that omission is significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate, and it does not mention a single parameter. Critically, it gives no hint that date/time/latitude/longitude are required or that they are birth-chart inputs for a herb lookup, which is the most confusing aspect of this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and provenance: herbs keyed to a sign's traditional planetary lord per Culpeper, covering the 7 classical planets. That distinguishes it from wellness siblings like diet, yoga, or crystals. However, it never states that the tool is chart-driven (it reads as a static lookup despite requiring date/time/lat/long), leaving the purpose slightly ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use condition, no prerequisites, and no alternatives are named despite dozens of wellness siblings. The agent is left to infer that this should be called after or alongside a natal chart calculation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_wellness_medical_astrologyMedical Astrology (Body Rulership)CRead-onlyIdempotentInspect
Body parts ruled by sun-sign per traditional Melothesia (head→toe). Returns primary + secondary + vulnerabilities.
[Group: Wellness] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| element | No | |
| sunSign | No | |
| disclaimer | No | |
| bodyRulership | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds output shape (primary, secondary, vulnerabilities) and cost/tier, which is genuine extra context, but says nothing about how the chart is derived or any auth/rate constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus compact metadata tags, front-loaded with what is returned. No filler, though the tags consume space without aiding invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 15-parameter natal-chart-derived tool with low schema coverage, the description is thin. Output-schema coverage excuses not explaining return values, but the birth-data prerequisite, timezone handling, and sidereal vs tropical choice are left entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not. It adds no meaning for date/time/latitude/longitude (the required core inputs) nor for ayanamsa/zodiacType/houseSystem, all of which materially change the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and result: body parts ruled by sun-sign per Melothesia, returning primary + secondary + vulnerabilities. An agent can distinguish it from wellness_herbs or wellness_diet, though the description never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no alternatives. Critically, it never tells the agent that a full birth moment (date, time, latitude, longitude) is required even though the tool is framed as sun-sign-based, so the caller could easily invoke it with the wrong mental model.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_wellness_mental_healthMental-Health ProfileBRead-onlyIdempotentInspect
Element-profile across luminaries + Mercury/Venus/Mars; identifies dominant element + strengths/vulnerabilities/coping.
[Group: Wellness] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| disclaimer | No | |
| mentalProfile | No | |
| elementProfile | No | |
| dominantElement | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered structurally. The description adds the price tier (10 credits, Tier 1), which is genuinely useful behavior not present in annotations, but says nothing about determinism, latency, or what the profile contains beyond a one-line summary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly written sentence that front-loads the computed content, followed by short group/cost metadata lines. Nothing is padded, though the metadata lines are boilerplate rather than substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations cover the safety profile. Still, for a 15-parameter calculation tool with low schema coverage, the definition leaves the input side thin and provides no guidance on the tropical/sidereal, house-system or timezone choices an agent must make before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a compensation burden it does not meet: it mentions no inputs at all. Several parameters (timezone, timezoneOffset, ayanamsa, precision, fields) carry their own schema prose, but the description adds no semantics, defaults, or hints about which inputs matter for this profile.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific computed artifact: an element profile over the luminaries plus Mercury/Venus/Mars, with a dominant element and strengths/vulnerabilities/coping. That is a clear verb+resource, and it is distinguishable from a generic chart call. It does not, however, differentiate itself from the many sibling element-balance tools (psya_element_balance, arroyo_element_balance, bazi_element_balance), so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus the other element or wellness siblings, and no prerequisites or exclusions. The only orienting information is the group tag (Wellness) and the credit cost, which tells cost but not applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_wellness_sleep_cyclesMoon-Phase Sleep TipsBRead-onlyIdempotentInspect
Sleep recommendations per moon phase. Pair with /sun-times to find current phase.
[Group: Wellness] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| note | No | |
| disclaimer | No | |
| moonPhaseTips | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered structurally. The description's real added value is the cost disclosure (10 credits, Tier 1) and the phase-pairing requirement, but it says nothing about return shape or whether recommendations vary by hemisphere/location.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with no filler; the core function is stated first and the prerequisite second. The group/cost tags are structured metadata rather than prose padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, the description leaves the meaning of the required date and the sleep_cycles/moon-phase naming mismatch unaddressed, which an agent would need in order to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%; the 'fields' and 'precision' params are self-documented, but the required 'date' param has no schema description and the description never clarifies whether it is the night of sleep or the date of phase lookup. With the schema doing most of the work, this sits at the baseline rather than compensating for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and output type ('Sleep recommendations per moon phase'), which is clear enough to distinguish it from the many other wellness siblings (diet, exercise, herbs, biorhythm). It does not, however, explicitly contrast itself with the closest alternative, astroway_calendar_moon_phase, or explain the 'cycles' framing in the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a chaining hint ('Pair with /sun-times to find current phase'), which implies the required workflow context. But it never states when to choose this over related wellness or moon-phase tools, nor any exclusion conditions, so usage is only partially guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_wellness_yogaYoga Practice by SignCRead-onlyIdempotentInspect
Sign-specific yoga focus + asanas + pranayama.
[Group: Wellness] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yoga | No | |
| element | No | |
| sunSign | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered by structured data. The description adds nothing beyond that: it doesn't disclose that output is sign-derived, whether it is deterministic for a given chart, or how the credit cost relates to execution. Given the low bar enabled by annotations, this is a weak addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one line plus two bracketed metadata tags). Nothing is wasted, but it is under-specified rather than concise: the content is so sparse that 'front-loaded' barely applies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with 33% schema coverage, an output schema, and a dense sibling toolset, the description is far too thin. It omits how the required chart inputs map to a sign, what the result contains, and why this tool is chosen over adjacent Wellness tools. The annotations and output schema lighten the safety/return-format burden, but the purpose and parameter context remain incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%; 15 parameters exist and the description explains none of them. It gives no hint that date/time/latitude/longitude define a chart whose sign drives the yoga output, nor any guidance on the many optional astrological parameters (zodiacType, ayanamsa, houseSystem). This is a significant gap the description should compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific domain (yoga) and its content (sign-specific asanas and pranayama), so the purpose is identifiable. However, it is a fragment rather than a stated verb+resource, and it never explains that the output is derived from the input chart or distinguishes it from siblings like astroway_wellness_exercise or astroway_wellness_diet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives (exercise, diet, herbs within the Wellness group), and no statement of prerequisites or how the required date/time/coords relate to getting sign-specific yoga. The agent must infer applicability from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_western_chartNatal ChartARead-onlyIdempotentInspect
Calculate a full natal chart: planets, house cusps, aspects, sect, and angular data for a given birth moment. When the birth time is unknown, send timeUnknown: true instead of time and the response carries planets and aspects with houses, angles and sect set to null, plus a timeUnknown block giving the range the Moon covers that day. With ?lang= the response adds localized: pl…
[Group: Core] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timeUnknown | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| chartSect | No | |
| julianDay | No | |
| localized | No | |
| houseAspects | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real behavioral detail beyond them: the exact degradation when time is missing (houses, angles, sect set to null) plus a timeUnknown block reporting the Moon's range for the day, and the ?lang= localization effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then the single most important edge case, with no filler. The text is visibly truncated mid-sentence ('adds localized: pl…'), which prevents judging whether the tail is as economical as the head.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, and the description does cover the key null-time branch. But for a 16-parameter astrological tool at 31% schema coverage, the many unexplained configuration parameters (house system codes, zodiac type, sidereal school, cosmogram, compact fields/precision interplay) leave real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 31%, so the description needs to compensate and only partly does: it explains timeUnknown and lang, while parameters like zodiacType, houseSystem, cosmogram, city, name, ayanamsaId and the enum codes receive no explanation in either place. The schema does carry decent prose for fields, ayanamsa, timezone, precision and timezoneOffset, which supports a baseline 3 but no higher.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate a full natal chart') and enumerates exactly what is produced (planets, house cusps, aspects, sect, angular data), so the agent knows the payload without opening the schema. It does not, however, differentiate itself from close siblings such as astroway_western_planets or astroway_western_ephemeris, which keeps it out of the top band.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete when-to-use branch: when the birth time is unknown, send timeUnknown: true instead of time, with a clear statement of the resulting response shape. It provides no guidance on choosing this tool over the other natal/ephemeris siblings or on when each house system or zodiac type applies, so it stops short of explicit alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_western_ephemerisEphemeris RangeBRead-onlyIdempotentInspect
Return planet positions for a date range with configurable step (min 0.01 days). Max range: 1 year for sub-day steps, 5 years otherwise. Optionally filter by planetIds.
[Group: Core] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endDate | Yes | ||
| stepDays | No | ||
| planetIds | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ephemeris | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent profile, so the bar is lower. The description adds genuinely useful operational limits not present in structured data: minimum step of 0.01 days and the range caps (1 year for sub-day steps, 5 years otherwise). The stated cost tier further informs budget-conscious callers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences that lead with purpose before the operational constraints, with no filler. The group/cost tags are compact metadata rather than prose padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the key behavioral constraints are covered. But routing ambiguity against the many sibling ephemeris/chart tools and the undocumented date format leave gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description is expected to compensate. It adds meaning for stepDays ('configurable step, min 0.01 days') and planetIds ('optionally filter by planetIds'), but stays silent on the date format and stepDays' default/units, leaving the sparse schema to carry the rest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return planet positions for a date range') with the configurable step, which is clearly distinguishable from a single-moment tool. However, it never contrasts itself with close siblings like astroway_western_planets or the calendar ephemeris tools, leaving the agent to infer which one applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides constraints (max range, optional planetIds filter) but no explicit when-to-use guidance or named alternatives. An agent cannot tell from this text when to reach for the ephemeris range versus astroway_western_planets or astroway_calendar_planetary_cycles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_western_planetsPlanet PositionsARead-onlyIdempotentInspect
Calculate raw planet longitudes for a given date/time without full chart context (no houses, no aspects).
[Group: Core] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| planets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds value beyond them by disclosing cost ('10 credits (Tier 1)') and the Group: Core classification, which matters for budgeting. It does not discuss rate limits, caching, or determinism, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence plus two bracketed metadata tags, with the core purpose and the scope exclusion front-loaded. Nothing is padded or repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. Still, for a 15-parameter tool the description says nothing about how zodiacType/ayanamsa change the returned longitudes or what houseSystem does, leaving real gaps for an agent assembling a call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters at all, while schema description coverage is only 33% across 15 parameters. Although the schema documents the trickiest inputs (timezone, timezoneOffset, ayanamsa, fields, precision), others such as houseSystem's single-letter enum, zodiacType, and cosmogram are undocumented anywhere, and the description does nothing to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate raw planet longitudes') plus the input context ('for a given date/time'), and scopes it by what it excludes ('without full chart context (no houses, no aspects)'). That exclusion implicitly separates it from astroway_western_chart, so an agent can pick between the two without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when this is the right call: a lightweight longitude-only computation for a date/time. It never names an alternative tool or states a hard when-not rule, so the agent must infer that houses/aspects needs route elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_western_sun_timesSun TimesARead-onlyIdempotentInspect
Calculate sunrise, sunset, twilight times, and day length for a given date and geographic location.
[Group: Core] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dawn | No | |
| dusk | No | |
| sunset | No | |
| sunrise | No | |
| dayLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful cost metadata (10 credits, Tier 1) and group context, but does not disclose timezone defaults, coordinate conventions, or other operational behavior beyond what the schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that states exactly what is calculated and for what inputs, followed by only compact metadata tags. Every element is purposeful and there is no redundant prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description is sufficient for selection and invocation, though it does not mention timezone behavior or coordinate conventions that the schema handles in detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 57%; the four optional parameters have detailed schema descriptions, while the three required ones lack schema descriptions. The description compensates conceptually by naming date and 'geographic location,' but adds no format, range, or unit detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'Calculate,' and names exact resources: sunrise, sunset, twilight times, and day length, scoped to a date and geographic location. This uniquely distinguishes it from other astrological sibling tools, which cover charts, calendars, horoscopes, and renderings rather than solar time events for a location.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, no exclusions, and no alternatives to compare against. The phrase 'for a given date and geographic location' supplies context but not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_whitelabel_configGet White-label ConfigARead-onlyIdempotentInspect
Read the authenticated user's branding overrides (logo, colour palette, font, footer text, custom domain). On first access, defaults are seeded.
[Group: White-label] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| updated_at | No | |
| font_family | No | |
| footer_text | No | |
| custom_domain | No | |
| primary_color | No | |
| domain_verified | No | |
| secondary_color | No | |
| logo_storage_key | No | |
| domain_last_checked_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds two things the annotations do not: a first-access seeding side effect and a concrete cost (10 credits, Tier 1), both of which materially affect an agent's decision to call it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the purpose front-loaded and the side effect immediately after; the bracketed group/cost tags are compact metadata rather than prose. No wasted sentences, though the tags sit slightly awkwardly in the description body.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the annotations carry the safety profile. The seeding behavior and cost are disclosed, leaving only the absence of routing guidance against sibling white-label tools as a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (fields, precision) are fully documented in the schema, so the baseline is 3. The description says nothing about compact mode, dotted paths, or precision rounding, adding no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Read the authenticated user's branding overrides' — and enumerates the covered fields (logo, palette, font, footer, domain), which lets an agent distinguish it from narrower siblings like astroway_whitelabel_logo or astroway_whitelabel_domain_verify. It never explicitly names an alternative, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus whitelabel_preview, whitelabel_logo, or whitelabel_domain_verify, and no prerequisites or exclusions. The 'On first access, defaults are seeded' line is a behavioral note, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_whitelabel_domain_verifyVerify Custom Domain DNSBRead-onlyIdempotentInspect
Check whether the configured custom_domain points to api.astroway.info via CNAME. Persists the result. If only A records resolve, returns them with a hint to switch to CNAME.
[Group: White-label] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| domain | No | |
| resolved | No | |
| verified | No | |
| expectedTarget | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says it 'Persists the result,' which is a state-changing side effect, while the annotations declare readOnlyHint=true (no environment modification). That is a direct contradiction between description and structured metadata, warranting the score-1 rule. (The A-record hint is useful, but the conflict dominates.)
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences: the check, the persistence, then the fallback behavior, followed by group/cost tags. Efficient and easy to scan, with no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and cost/group are given. However, the definition omits any explicit when-to-use guidance and its persistence claim conflicts with the declared read-only behavior, leaving the agent's safety model ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the two generic compact-mode parameters (fields, precision) are fully documented in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — check whether the configured custom_domain resolves to api.astroway.info via CNAME — which is precise and unambiguous. It doesn't explicitly contrast with siblings such as astroway_whitelabel_config or astroway_whitelabel_preview, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this runs after a custom domain is configured, but the description never says when to call it, when not to, or how it relates to whitelabel_config/preview. The A-record fallback note describes output behavior, not when to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_whitelabel_logoUpload White-label LogoCRead-onlyIdempotentInspect
Upload a logo as a base64 data URL (data:image/<png|jpeg|svg+xml|webp>;base64,...). Maximum 512 KB. Replaces any prior logo and deletes the old file from storage.
[Group: White-label] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| data_url | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| logo_url | No | |
| mime_type | No | |
| byte_length | No | |
| logo_storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly says the upload 'replaces any prior logo and deletes the old file from storage' — a write/destructive side effect — while the annotations declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. This is a direct contradiction between the stated behavior and the structured safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the format constraint front-loaded, plus brief group/cost metadata. Nothing is padded, though the bracketed metadata lines add little for an invoking agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the description covers format, size, and side effects. However, it omits auth/permission requirements and error behavior (invalid image, oversized payload), and its side-effect disclosure conflicts with the annotations instead of clarifying them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the description fills the main gap: it spells out the base64 data-URL shape and the 512 KB size ceiling for data_url, which the schema only encodes as a regex. The unrelated 'fields'/'precision' compact-mode params are documented in the schema, so nothing critical is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: uploading a white-label logo, with the accepted data-URL format enumerated. It does not explicitly contrast itself with siblings like astroway_whitelabel_config or astroway_whitelabel_preview, but the resource is unambiguous enough to route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It never says when to use this tool versus the other white-label siblings, nor what prerequisites (e.g. branding config existing) or exclusions apply. The format constraints are payload requirements, not usage guidance, so the agent must infer the context on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_whitelabel_previewPreview White-label ReportARead-onlyIdempotentInspect
Render a sample natal report PDF using the authenticated user's white-label configuration (colours, font, footer, logo). Pass chart to use your own birth data; omit to use the bundled Kyiv 1990 sample.
[Group: White-label] [Cost: 5,000 credits (Tier 7)] ⚠️ Premium — ~50% of free monthly budget. Confirm with user before invoking.
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| preview | No | |
| expires_at | No | |
| page_count | No | |
| byte_length | No | |
| duration_ms | No | |
| storage_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the safety annotations (readOnly/idempotent/non-destructive), the description discloses the exact cost (5,000 credits, Tier 7), that it consumes ~50% of the free monthly budget, and that the agent should confirm with the user before invoking. It also states the fallback behavior when `chart` is omitted. This is unusually rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose, then the key usage rule, then grouped cost metadata. Every sentence earns its place with no redundancy; the metadata tags ([Group], [Cost]) are compact and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations cover the safety profile. The description adds purpose, the pivotal parameter rule, and cost/confirmation guidance — everything an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The `chart` parameter has no schema description (anyOf with empty object), and the description is the only place its behavior is explained. `fields` and `precision` carry schema descriptions and `language` is a self-explanatory enum, so with 50% coverage the description fully compensates for the one ambiguous parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Render a sample natal report PDF using the authenticated user's white-label configuration,' with scope implied by 'sample' and the white-label branding. This cleanly separates it from the general report generators (astroway_reports_natal, etc.), though it never explicitly names a sibling it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete when-to-use context for the `chart` parameter ('Pass `chart` to use your own birth data; omit to use the bundled Kyiv 1990 sample') and a confirmation prerequisite for the premium cost. It stops short of naming an alternative tool or stating when not to use this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_chartFull Chart (computed)CRead-onlyIdempotentInspect
Real star placement: soul and body palaces, the five-element class, all 14 main stars plus auxiliaries, the twelve stages, the 12 decade limits and the 四化 marked on the stars that carry them.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| age | No | ||
| date | Yes | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| gender | Yes | ||
| school | No | ||
| fixLeap | No | ||
| language | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| dayDivide | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| yearDivide | No | ||
| tianmaSchool | No | ||
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lunar | No | |
| ziwei | No | |
| palaces | No | |
| computed | No | |
| soulPalace | No | |
| fiveElementClass | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered without description help. The description does add one thing the annotations do not: a 20-credit (Tier 2) cost, which is decision-relevant for a metered API. It says nothing about failure modes, data requirements, or the difference between 'computed' here and any cached variant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence plus two bracketed metadata tags, with no filler or repetition and the chart contents front-loaded. It is a long list-like sentence, but every listed element is substantive rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter, 5-enum, cost-metered computation tool with heavy sibling overlap, the description leaves out the essential call prerequisites (birth date/time/gender) and the school/divide options that materially change output. The output schema does relieve it of explaining return values, but the input side is too thin for an agent to invoke this confidently without opening the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29%, so the description is expected to compensate and it does not: it never mentions that date, time and gender are required, nor explains the four 'school' variants, yearDivide/dayDivide/tianmaSchool options, or fixLeap. Only two parameters (fields, precision) and part of timezone carry schema descriptions; the description adds no parameter meaning at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lists the specific Zi Wei Dou Shu contents produced (soul/body palaces, five-element class, 14 main stars plus auxiliaries, twelve stages, 12 decade limits, 四化), so the resource is identifiable. However it is a content enumeration rather than a stated action, and it gives no differentiation from the closely named sibling astroway_ziwei_full_chart or from astroway_ziwei_main_stars / astroway_ziwei_four_transformations, which appear to cover subsets of the same material.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The only routing information is a group tag ('Zi Wei Dou Shu') and a credit cost, neither of which tells an agent when to pick this tool over the ziwei_full_chart or per-palace siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_four_transformationsFour Transformations (四化)ARead-onlyIdempotentInspect
The four stars activated by the birth year stem: 化禄 fortune, 化权 authority, 化科 repute, 化忌 obstruction. The one part of Zi Wei computable without star placement. Seven stems are agreed across traditions; for the three that are not (戊 庚 壬) every school reading ships in schoolVariants, and school switches the headline answer.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| school | No | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| school | No | |
| disputed | No | |
| yearStem | No | |
| solarYear | No | |
| schoolVariants | No | |
| transformations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety burden is lifted. The description adds substantive non-obvious behavior: tradition-dependent outputs for three stems with all school readings shipped in schoolVariants, plus the 10-credit cost. Auth and rate-limit details are absent, but nothing material is hidden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what is computed, then the tradition nuance and the school switch; every sentence carries information. The trailing [Group]/[Cost] tags are structured metadata rather than prose, so they don't dilute, though the second sentence's 'computable without star placement' clause is loosely placed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and annotations cover safety. For a 7-param tool the description covers purpose, tradition variance, and the key enum, leaving only minor gaps around the required birth date and the compass of the other params, which the schema largely handles.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is moderate (57%): fields, timezone, precision, and timezoneOffset are already documented, while date, time, and school are not. The description compensates meaningfully for the undocumented `school` enum by explaining that it selects the headline answer and that variant readings appear in schoolVariants, adding real semantics beyond the bare enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computation (the four stars 化禄/化权/化科/化忌 activated by the birth-year stem) with domain-accurate detail, and adds the crucial scoping fact that this is the one part of Zi Wei computable without star placement. An agent can distinguish it from ziwei_chart, ziwei_main_stars, and the palace tools without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear contextual guidance on when the school parameter matters: seven stems agree across traditions, three (戊庚壬) do not, and `school` switches the headline answer. It does not, however, explicitly route the agent relative to sibling tools or state prerequisites for the required date input.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_full_chartFull Chart (deprecated)ARead-onlyIdempotentInspect
Deprecated 2026-09-08, sunset 2027-11-26. Year pillar + animal + a 12-palace overview, identical for every birth date. Use POST /ziwei/chart, which actually places the stars.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| animal | No | |
| palaces | No | |
| solarYear | No | |
| disclaimer | No | |
| yearPillar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description goes well beyond them by disclosing the deprecation window with a sunset date, the 5-credit cost, and – most valuably – that the result is invariant to the birth date, which is precisely the kind of surprising behavior an agent must know before spending credits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler, front-loaded with the deprecation status and dates before the output summary and the replacement advice. The group and cost tags are compact metadata rather than prose waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated read-only tool with an output schema already defining the return shape, the description supplies everything needed to avoid a bad call: status, timeline, cost, the replacement, and the no-op result. The only shortfall is that the date/time inputs are never characterized, leaving a small chance an agent still tries to use it with a specific birth time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the schema itself is detailed for fields, precision, timezone and timezoneOffset, so the baseline is 3. The description never names a parameter; its only parameter-relevant contribution is the indirect hint that the required date does not affect the output, which is useful but not explicit parameter guidance for the two undocumented params (date, time).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names the resource (a Zi Wei Dou Shu full chart) and specifies exactly what comes back – 'Year pillar + animal + a 12-palace overview' – and adds the decisive discriminator that the output is 'identical for every birth date'. That single clause separates it from astroway_ziwei_chart, which 'actually places the stars', so an agent can choose correctly without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit when-not (deprecated with dates) and a named alternative ('Use POST /ziwei/chart, which actually places the stars'), which is strong routing guidance. The only gap is that the alternative is given as a REST route rather than the sibling MCP tool name, so the agent must map it to astroway_ziwei_chart itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_main_stars14 Main StarsARead-onlyIdempotentInspect
The 14 main stars in canonical order (Zi Wei series, then Tian Fu series) with theme/archetype. Reference table: does not vary with the date.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| disclaimer | No | |
| fourteenMainStars | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so safety is covered. The description usefully adds that output is order-stable and date-independent, and the cost tier is disclosed – real behavioral context beyond the annotations, though the still-required `date` for a date-invariant result is left unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences front-load the resource, ordering and invariance claim; the group/cost brackets are compact metadata. Nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations cover the safety profile. The description is sufficient for a static reference lookup, with the minor unresolved question of why a date is mandatory for a date-invariant result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 6 parameters (1 required) and only 67% schema description coverage, the description supplies no parameter meaning at all. Worse, the one param-related claim it makes ('does not vary with the date') sits awkwardly against a schema that hard-requires `date`, leaving the agent unsure why that input must be sent – it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (the 14 main stars of Zi Wei Dou Shu), its ordering (Zi Wei series then Tian Fu series) and the payload it carries (theme/archetype), which is strictly different from the sibling Zi Wei chart/palace/transformation tools. An agent can identify this as a static definitional table without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Calling it a 'Reference table: does not vary with the date' implies the appropriate use (static star lookup rather than a chart computation), but no sibling alternative is named and no when-not condition is given. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_palace_careerCareer Palace (Guanlu)CRead-onlyIdempotentInspect
Profession, status, official position.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palace | No | |
| solarYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuine behavioral context in the form of cost ('5 credits, Tier ½'), which is quota-relevant information not present in any structured field, but says nothing about output shape, caching, or computation requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely compact and front-loaded: the domain statement comes first, followed by grouped metadata tags. Nothing is padded, though the brevity borders on under-specification rather than true economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the safety profile, the description need not explain return values. But for a chart-computation tool it omits what the result represents and that it derives from birth data, leaving the agent to infer the action from the title alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% and the description adds no parameter detail at all — no clarification of the required date, the time field, or how timezone interacts with charts. The rich schema prose for timezone/fields/precision carries the load, so a baseline 3 is warranted rather than a penalty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Profession, status, official position' labels the semantic domain of the Career Palace and thereby distinguishes it from sibling palaces like wealth or spouse. However, it never states a verb — it does not say whether the tool computes the palace, returns its stars, or produces an interpretation. An agent knows the topic but not the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. that birth date/time is needed), and no routing to alternatives. The only routing signal is the '[Group: Zi Wei Dou Shu]' tag, which is supplementary metadata rather than usage instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_palace_childrenChildren Palace (Zinu)CRead-onlyIdempotentInspect
Children, fertility, juniors.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palace | No | |
| solarYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds cost context (5 credits, Tier ½) and the system group, which is useful metadata beyond annotations, but it says nothing about return format, permissions, or rate limits beyond the credit cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, and the group/cost metadata lines are structured and useful. However, the core content is a sparse keyword fragment rather than a purposeful statement, so it is under-specified rather than truly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the description still omits what the Children Palace analysis contains, how it differs from related palace tools, and any usage context. For a 6-parameter chart tool in a crowded Zi Wei toolset, this leaves an agent with too little to select and invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no information about any of the 6 parameters. Schema description coverage is 67%, with the date and time parameters having only patterns and no textual descriptions, so the description should compensate but does not. The timezone, precision, timezoneOffset, and fields parameters are well documented in the schema, but the description adds zero semantic value on top.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a keyword list ('Children, fertility, juniors') that names the domain but never states a verb or that it returns the Children Palace analysis. It is more informative than the bare title 'Children Palace (Zinu)' because it adds fertility and juniors, but it does not clearly differentiate from sibling palace tools like astroway_ziwei_palace_siblings, where 'juniors' could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many other Zi Wei palace tools (career, spouse, siblings, etc.) or versus astroway_ziwei_chart / astroway_ziwei_full_chart. The group tag only categorizes the tool; it does not state selection conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_palace_destinyDestiny Palace (Ming)CRead-onlyIdempotentInspect
Life path, character, soul mission.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palace | No | |
| solarYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered by structured data. The description adds genuinely useful non-schema context: it belongs to the Zi Wei Dou Shu group and costs 5 credits (Tier 1/2), which matters for budgeting. It omits, however, that a birth date is required and that accuracy depends on birth time/timezone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the thematic line first, followed by structured group/cost tags. There is no filler, but the brevity reflects missing content rather than disciplined compression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a chart-derivation tool with six parameters and an existing output schema, the return value need not be explained, but the description still leaves out the essential fact that it requires birth date/time and how it relates to the other ziwei palace tools. An agent would have to guess its place in the Zi Wei workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description says nothing about any of the six parameters. With schema description coverage at 67%, the two undescribed parameters (date, time) fall entirely on the schema's patterns, and the description does nothing to compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title thematically ('Destiny Palace' -> 'Life path, character, soul mission') without stating the operation: computing the Ming/Destiny palace of a Zi Wei Dou Shu chart from birth data. It never differentiates itself from the eight sibling palace tools (career, wealth, spouse, health, etc.), so an agent cannot tell which palace it returns from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of required inputs (birth date, ideally time), and no mention of the sibling palace tools as alternatives. The only context offered is group and billing metadata, which does not help select between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_palace_healthHealth Palace (Ji'e)CRead-onlyIdempotentInspect
Body, illness, weak points.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palace | No | |
| solarYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description's one genuinely additive piece of behavior is the billing disclosure ("5 credits (Tier ½)"), which is not in the schema or annotations; beyond that it says nothing about inputs required or what the palace analysis contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded, with the topic first and the group/cost metadata clearly tagged afterwards. It is efficient, though the brevity borders on under-specification rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter chart-derived tool, the description omits how it relates to the Zi Wei chart tools, that birth date (and optionally time) is required, and how it differs from overlapping wellness/medical tools. Having an output schema covers return-value documentation, but the invocation context is still thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the description explains none of the six parameters. It gives no hint that a birth date (required), optional time, timezone handling, or the compact-mode `fields`/`precision` options exist, leaving the half-documented `date`/`time` params entirely to the schema patterns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment "Body, illness, weak points" conveys the topical domain (the Zi Wei Dou Shu Health palace) but never states a verb or what the tool returns. The name/title already carry most of the disambiguation against siblings like astroway_ziwei_palace_career, so the description adds only a topical gloss rather than a clear purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given. An agent cannot tell from the text whether this is a full chart, a sub-analysis, or where it sits relative to astroway_ziwei_chart, astroway_ziwei_full_chart, or astroway_wellness_medical_astrology.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_palace_propertyProperty Palace (Tianzhai)CRead-onlyIdempotentInspect
Real estate, family home, ancestry.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palace | No | |
| solarYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description's one genuine addition is the operational cost tag ('5 credits, Tier ½'), which is useful context, but it says nothing about what the computation requires or how the palace reading is derived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two lines with no filler, and the domain keywords are front-loaded before the metadata tags. However, the brevity comes from omission rather than tight editing; there is almost no substance to be concise about.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the description still leaves the core operation, the required birth date/time context, and the relationship to sibling palace tools unstated. For a chart-computation tool with 6 parameters, this is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 67%, with `date` and `time` carrying no description in either the schema or the tool description. The description supplies no parameter meaning at all — no indication that date/time are the birth moment the palace is cast from — so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the thematic domain of the Tianzhai palace (real estate, family home, ancestry) but never states what the tool actually does — no verb like 'compute' or 'return', and no mention that it produces the Property Palace of a Zi Wei Dou Shu chart. It also does nothing to distinguish itself from the many sibling palace tools (career, wealth, spouse, health), so an agent must infer the operation from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus astroway_ziwei_chart, astroway_ziwei_full_chart, or the other palace_* siblings. The only routing help is the group/cost metadata tags, which say nothing about selection conditions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_palace_siblingsSiblings Palace (Xiongdi)CRead-onlyIdempotentInspect
Brothers, sisters, peer relationships.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palace | No | |
| solarYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description need only add new behavior. It does add one genuinely useful trait not in the annotations: the cost of 5 credits (Tier ½), which matters for an agent deciding whether to spend. Beyond that it says nothing about what the response contains or any constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines with the topical keywords front-loaded and the group/cost metadata clearly bracketed, so there is no filler or redundancy. It is efficient, though arguably terse to the point of underspecification, which is a completeness issue rather than a conciseness one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. However, for a parameterized chart tool the definition leaves the agent without a clear statement of what is produced or how it differs from the sibling Zi Wei palace tools, making it only minimally sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Six parameters with schema description coverage at 67% and the description adds zero parameter information. The required 'date' parameter has only a pattern, and nothing in the description clarifies the date/time/timezone semantics or the compact-mode fields/precision options. With a mid-range coverage gap, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the life themes the Siblings Palace covers ('Brothers, sisters, peer relationships') but supplies no verb and never states that it returns a Zi Wei Dou Shu palace analysis, so the function is only implied. It is largely a restatement of the title 'Siblings Palace (Xiongdi)' with the addition of 'peer relationships', and it does not distinguish itself from nearby Zi Wei palace tools or from astroway_family_sibling_dynamics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. a birth date/time is required), and no mention of alternatives such as astroway_ziwei_twelve_palaces or astroway_family_sibling_dynamics. The only contextual cues are the group tag and credit cost, which are billing/metadata rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_palace_spouseSpouse Palace (Fuqi)CRead-onlyIdempotentInspect
Marriage partner, romantic union.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palace | No | |
| solarYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description does add non-schema behavioral context — the Zi Wei Dou Shu group membership and a cost of 5 credits (Tier ½) — which is genuinely useful for call budgeting, but it says nothing about what the computation returns or its input requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short with no filler and the group/cost tags are front-loadable structured metadata. However, brevity here reflects under-specification rather than economy — a whole sentence of the budget could be spent clarifying what the tool produces.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. But for a chart-derivation tool with six parameters sitting among many near-identical palace siblings, the description omits what is computed, from which chart, and how it differs from astroway_ziwei_twelve_palaces — leaving the agent to guess from the name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so the schema documents most of the six parameters (fields, precision, timezone, timezoneOffset) but not date/time formats. The description adds no parameter meaning whatsoever, so it fails to compensate for the undocumented remainder.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun-phrase gloss on the palace's meaning ('Marriage partner, romantic union') rather than a statement of what the tool does. It largely restates the name/title 'Spouse Palace (Fuqi)' and provides no verb or operation, and it does nothing to distinguish itself from the ten sibling palace tools (career, wealth, health, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_ziwei_chart, astroway_ziwei_full_chart, or astroway_ziwei_twelve_palaces. An agent gets nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_palace_travelTravel Palace (Qianyi)CRead-onlyIdempotentInspect
Travel, relocation, foreign opportunities.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palace | No | |
| solarYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the credit cost (5 credits, Tier ½), which is genuinely useful behavioral context not present in the annotations, but it says nothing about what the calculation consumes or returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded, but it is an under-specified keyword fragment rather than a structured, information-dense sentence. Brevity here reflects omission of required context rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. But for a 6-parameter chart-calculation tool the description omits the essential framing — that it derives the Travel palace from a birth date/time within Zi Wei Dou Shu — leaving the agent to infer the tool's core contract from the name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the required `date` and optional `time` parameters carry no schema description at all. The description provides zero parameter information (no date/time format, no mention that birth data drives the palace calculation), so it fails to compensate for the uncovered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the domain ('Travel, relocation, foreign opportunities') and the group tag identifies the Zi Wei Dou Shu system, so an agent can infer this returns the Travel palace's themes. However, it is a bare keyword list with no verb or resource statement — it never says it computes/returns the Travel palace for a given chart, leaving the actual action implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as astroway_ziwei_twelve_palaces (all palaces) or the other palace-specific siblings, nor any prerequisites (e.g., that a birth date/time is required). The only contextual lines are metadata (group and credit cost), which do not help tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_palace_wealthWealth Palace (Caibo)CRead-onlyIdempotentInspect
Income, material prosperity.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palace | No | |
| solarYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description does add genuinely new behavioral context — the grouping under Zi Wei Dou Shu and the billing cost (5 credits, Tier 1/2) — but says nothing about what is returned or how the palace reading is scoped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded with the topic, and the group/cost metadata is compact and useful. However, the terseness comes at the cost of substance — the single content clause does little work for an agent trying to select among hundreds of siblings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a chart tool that requires a birth date and sits among a dozen near-identical palace endpoints, the description omits usage context, prerequisites and sibling differentiation. It is not complete enough to route the agent reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Six parameters with 67% schema coverage: date, time, timezone, timezoneOffset, fields and precision. The description contributes no parameter information at all, leaving the moderately documented schema to carry the full burden without any description-side clarification of defaults or required usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a topic fragment ('Income, material prosperity') rather than a verb+resource statement; the title 'Wealth Palace (Caibo)' supplies the resource, so an agent can infer this reads the Zi Wei wealth palace. It does not differentiate itself from close siblings such as astroway_ziwei_palace_career, astroway_ziwei_palace_property or astroway_financial_wealth_house, so purpose is only implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. that a birth date/time is needed), and no mention of alternatives among the twelve ziwei palace tools. The only routing aid is the topic label itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_ziwei_twelve_palaces12 PalacesCRead-onlyIdempotentInspect
All 12 palaces with English/pinyin/Chinese names + theme + rules.
[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| animal | No | |
| palaces | No | |
| solarYear | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds useful content-level context (the naming languages and that each palace carries a theme and rules) and the credit cost, but says nothing about whether the result is computed from the supplied birth data or is a static reference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded line with zero waste, followed by compact group and cost tags. Its brevity is efficient rather than padded, though it borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that requires a birth date and sits in a dense cluster of Zi Wei Dou Shu siblings, the description omits the essential framing: that date/time input produces the palace layout, and how it differs from ziwei_chart/ziwei_full_chart. Output schema and annotations cover returns and safety, but the routing and input-role gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
None of the six parameters are mentioned; in particular the required 'date' is never connected to the tool's output, leaving the source of the palaces ambiguous. With only 67% schema coverage, the description does not compensate for the two undocumented parameters and adds no meaning beyond the patterns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource and its contents precisely: all 12 palaces with English/pinyin/Chinese names plus theme and rules. It does not, however, distinguish itself from close siblings such as astroway_ziwei_chart or astroway_ziwei_full_chart, so an agent cannot tell from the description alone why it should pick this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all, and no pointed exclusion against the numerous alternatives (ziwei_full_chart, ziwei_main_stars, or the nine ziwei_palace_* tools). The agent must infer the role of this tool purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_aquariusAquarius: Fixed AirCRead-onlyIdempotentInspect
Communal innovation, futurist detachment. Saturn + Uranus. I KNOW.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, non-open-world behavior, so the safety profile is covered. The description adds genuinely useful operational context in the metadata blocks — cost of 10 credits at Tier 1 and the tool group — which an agent needs before spending credits, but it says nothing about response size, caching, or what content depth 'deep' implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the three cryptic fragments and 'I KNOW' consume space without conveying actionable information, while the structured cost/group lines carry the real payload. Nothing is bloated, but little of the prose earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the description never tells an agent what this tool produces (sign essay, interpretation text, data) or when to call it. For a content tool whose only purpose is the payload it returns, that omission leaves the definition inadequate for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters ('fields' and 'precision') carry detailed descriptions with examples, so the schema does the heavy lifting. The description adds no parameter guidance at all, which is acceptable at this coverage level but earns no credit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description offers evocative keywords for the Aquarius archetype ('Communal innovation, futurist detachment. Saturn + Uranus. I KNOW.') but never states what the tool does or returns. It reads as content about the sign, not a statement of a verb+resource, and it does not distinguish this tool from the eleven sibling per-sign tools beyond the sign name already in the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling per-sign tools, and no indication of prerequisites or context in which an agent should pick Aquarius over another sign. Only the bracketed group label implies a category.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_ariesAries: Cardinal FireCRead-onlyIdempotentInspect
Pioneering will, raw initiation. Ruler Mars. I AM signature.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and non-openWorld, so the safety profile is covered. The description usefully adds the cost dimension ('10 credits (Tier 1)'), which is genuine behavioral context an agent needs for budgeting, but it says nothing about what content is returned or any rate/auth considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and free of padding, but it front-loads thematic flavor text rather than function, and the only operationally useful elements (group, cost) are tucked into trailing brackets. Brevity is good; information ordering serves the agent poorly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and full parameter coverage, return format and argument details are legitimately omitted. However, for a content-retrieval tool the description never says what the tool actually delivers or how it differs from its eleven siblings, leaving the core selection question unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two optional parameters (fields, precision), both fully documented in the schema itself. The description adds no parameter-level information, so the baseline 3 applies — the schema carries the semantics entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description's main sentence ('Pioneering will, raw initiation. Ruler Mars. I AM signature.') describes the astrological character of Aries rather than what the tool does or returns. It never states a verb+resource such as 'returns deep per-sign content for Aries.' Only the name, title, and bracketed group label identify the function, making this close to a thematic restatement rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no routing to alternatives. The '[Group: Zodiac Signs (Per-Sign Deep)]' tag situates it in a family but does not explain when an agent should pick this over the other eleven sign tools or the general western chart tools. Nothing states what input, if any, this content tool expects or when it is appropriate to spend the 10 credits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_cancerCancer: Cardinal WaterCRead-onlyIdempotentInspect
Protective nurture, tidal memory. Ruler Moon. I FEEL.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered structurally. The description adds a genuinely useful behavioral fact, the 10-credit Tier 1 cost, but says nothing about output size, content depth, or what 'deep' means relative to other sign tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, which is good, but the leading poetic line carries no functional information and the only useful content is the Group/Cost tag block. Front-loading favors atmosphere over the detail an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and full parameter coverage mean return-value detail is not required, but a paid content tool should still explain what depth of Cancer material it produces and how it differs from siblings. That framing is absent, leaving the agent to guess from the tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (fields, precision) are compact-mode controls fully documented in the schema. The description contributes nothing about them, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states an action verb or what the tool returns; it is a poetic restatement of Cancer's traits ('Protective nurture, tidal memory. Ruler Moon. I FEEL.'). The bracketed '[Group: Zodiac Signs (Per-Sign Deep)]' tag is the only element that hints at the resource class, so an agent can infer the shape of the output but the tool's actual function is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the eleven sibling per-sign tools or versus broader chart tools such as astroway_western_chart. The only actionable context is the cost line, which tells price but not usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_capricornCapricorn: Cardinal EarthCRead-onlyIdempotentInspect
Disciplined mastery, long-view structure. Ruler Saturn. I USE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed world, so safety is covered. Beyond that the description adds genuinely useful operational context: cost (10 credits, Tier 1) and group membership. It does not describe return behavior, but an output schema exists, so this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the cost/group metadata is cleanly bracketed, but the leading flavor sentence consumes the front-loaded position without telling an agent what the tool produces. Size is fine; the content mix is not optimized for tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations, a full input schema, and an output schema cover most of the agent's needs, and cost is disclosed. Still, the description never says what the 'deep' per-sign output actually contains, leaving a gap for a content-retrieval tool whose value proposition is unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (fields, precision) are fully documented in the schema, so the baseline is 3. The description adds nothing about the compact-mode fields/precision options, but it is not required to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The body is flavor prose about the sign ('Disciplined mastery, long-view structure. Ruler Saturn. I USE.') rather than a statement of what the tool does or returns. Only the bracketed '[Group: Zodiac Signs (Per-Sign Deep)]' tag hints at the function, so the description essentially restates the name/title theme instead of giving a verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not, or alternative guidance. The 11 sibling per-sign tools make sign selection fairly self-evident, but the description never says to pick this over another sign tool or when this deep profile is warranted versus lighter horoscope tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_geminiGemini: Mutable AirCRead-onlyIdempotentInspect
Curious connection, plural perspectives. Ruler Mercury. I THINK.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds useful cost context ('10 credits (Tier 1)') and a group label, but does not describe other behavioral traits such as output characteristics or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the first sentence is poetic filler that does not help tool selection, and the functional metadata (group and cost) is relegated to tags below it. It is under-specified rather than concisely informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even with an output schema and annotations, the description does not clarify what this per-sign deep Gemini tool provides or how it differs from the many sibling zodiac-sign tools. Cost and group tags are present, but purpose and selection context are substantially missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema fully documents both optional parameters. The description adds no parameter meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives poetic Gemini traits ('Curious connection, plural perspectives. Ruler Mercury. I THINK.') but no action verb or resource statement. It identifies the sign indirectly and tags a group, yet does not say what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no when-not-to-use guidance, and no named alternatives among the many sibling sign tools. The cost tier and group tag give minor context but do not tell an agent when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_leoLeo: Fixed FireCRead-onlyIdempotentInspect
Radiant generosity, theatrical authority. Ruler Sun. I WILL.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds the credit cost (10 credits, Tier 1) and group membership, which is useful behavioral context, but it does not describe output content or any other operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and the tag structure is efficient, but the opening sentence is poetic rather than front-loaded with purpose. For tool selection, the first line does not earn its place as functional information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a per-sign deep-dive tool with an output schema and safety annotations, the description fails to state what the tool returns or how it differs from other per-sign deep tools. The name and title give some context, but the description itself is too incomplete for an agent to confidently select it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (fields and precision) are fully documented in the schema. The description adds no parameter meaning. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description consists of astrological keywords for Leo ('Radiant generosity, theatrical authority. Ruler Sun. I WILL.') rather than a functional statement of what the tool does. It never says it returns a deep interpretation of the Leo zodiac sign, leaving only the title and group tag to infer purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling per-sign deep tools (e.g., aquarius, aries) or other zodiac tools. The description provides only a cost tag, not usage context or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_libraLibra: Cardinal AirCRead-onlyIdempotentInspect
Partnership, aesthetic balance, mediation. Ruler Venus. I BALANCE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive. The description adds useful cost and grouping context (10 credits, Tier 1), but does not describe return behavior or any additional operational traits beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads Libra attributes before the group and cost tags. It contains no filler, though the thematic keywords are not the most functional use of space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description does not need to explain return values. However, it omits any functional action or usage context, leaving the agent to infer the tool's purpose entirely from the name, title, and group tag.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% description coverage for both optional parameters (fields and precision), explaining compact mode and rounding. The description adds no parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives thematic keywords about Libra but no functional verb or resource statement such as 'retrieve deep zodiac analysis for Libra.' The group tag indicates 'Zodiac Signs (Per-Sign Deep),' which helps, but the tool's action remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus sibling sign tools or other zodiac content. The description only states cost, with no conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_piscesPisces: Mutable WaterCRead-onlyIdempotentInspect
Oceanic compassion, dissolving boundaries. Jupiter + Neptune. I BELIEVE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description genuinely adds cost metadata not present in structured fields ('10 credits (Tier 1)') plus the group membership, but says nothing about what the payload contains or how large it is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is brief and not padded, and the group/cost tags are efficiently placed. However, the leading sentences are poetic branding rather than front-loaded functional information, so the space is spent on material that does not help tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the tool requires no inputs. Still, for a paid content-retrieval tool the description never confirms it returns a textual/interpretive deep dive for Pisces, leaving an agent to rely entirely on the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two optional parameters (fields, precision) are fully documented in the schema with examples. The description adds nothing beyond the schema, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is evocative flavor text ('Oceanic compassion, dissolving boundaries. Jupiter + Neptune. I BELIEVE.') that never states what the tool does or returns. The name, title and '[Group: Zodiac Signs (Per-Sign Deep)]' tag carry the entire functional load, so the description essentially restates the resource identity rather than clarifying purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no when-not-to-use, and no reference to the sibling sign tools (aries, taurus, etc.) despite there being eleven equivalents in the toolset. An agent must infer from the name alone that this returns Pisces-specific deep content and that the other signs have their own entries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_sagittariusSagittarius: Mutable FireCRead-onlyIdempotentInspect
Philosophical quest, frank expansion. Ruler Jupiter. I SEE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description's one genuine addition beyond structured data is the credit cost and tier, which is useful behavioral context; it says nothing about return volume, latency, or caching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is compact and front-loaded, and the bracketed group and cost lines are high-value metadata. The opening flavor line is decorative for selection purposes, but the whole thing is short enough that nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations cover the safety profile, so the definition is close to adequate. However, an agent still cannot tell from the text what this returns beyond the group tag, and no differentiation from the other sign tools is offered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both optional parameters (fields, precision) are fully documented in the schema, including the compact-mode dotted-path syntax. The description adds no parameter meaning at all, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The prose ('Philosophical quest, frank expansion. Ruler Jupiter. I SEE.') is thematic content about Sagittarius rather than a statement of what the tool does. The only functional signal is the '[Group: Zodiac Signs (Per-Sign Deep)]' tag, which lets an agent infer it returns deep per-sign content, but no verb or resource is stated and the sign itself is already carried by the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of the eleven sibling per-sign tools that are the obvious alternatives. The '[Cost: 10 credits (Tier 1)]' note implies budget relevance but does not tell the agent when this call is warranted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_scorpioScorpio: Fixed WaterCRead-onlyIdempotentInspect
Penetrating depth, transformation. Mars + Pluto. I DESIRE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context: the cost (10 credits, Tier 1), which the agent cannot get from structured fields. It says nothing else beyond thematic keywords.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and the cost tag earns its place, but the poetic keyword lines (Mars + Pluto, 'I DESIRE') carry no selection value for an agent and are essentially content flavor. Not bloated, but not every line contributes to correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and all params are optional with full schema coverage. For a simple content-lookup tool the definition is minimally adequate, but it never clarifies what the deep per-sign response contains, which is the main gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both optional params (fields, precision), so the schema documents them fully. The description adds no parameter meaning, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a set of evocative keywords for the sign ("Penetrating depth, transformation. Mars + Pluto. I DESIRE.") rather than a statement of what the tool does. The agent must infer from the name/title and the '[Group: Zodiac Signs (Per-Sign Deep)]' tag that this returns deep astrological content for Scorpio; there is no verb+resource statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given beyond the group tag and cost line. There is no differentiation from the twelve sibling per-sign tools (when to pick Scorpio vs Sagittarius), though the sign-specific name makes selection mostly mechanical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_taurusTaurus: Fixed EarthCRead-onlyIdempotentInspect
Embodied stability, sensory wealth. Ruler Venus. I HAVE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds useful operational context in the form of cost (10 credits, Tier 1) and group classification, which are not present in the annotations. However, it does not describe what kind of deep content is returned or any other behavioral traits beyond cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the opening sentence is not operationally useful for selecting or invoking the tool. The bracketed metadata is helpful and compact, but the primary text does not front-load what the tool does. Space is spent on evocative sign keywords rather than practical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, zero-required-parameter content retrieval tool with an output schema, the description is minimally adequate. It supplies group, cost, and sign identity context, and the output schema covers return values. It is missing usage guidance and a clear statement of what deep Taurus content is, but those gaps are partially mitigated by the tool name and schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself fully documents the optional 'fields' and 'precision' parameters. The description adds no parameter-level detail, which is acceptable under the rubric when the schema does the heavy lifting. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not state a verb or resource; it offers Taurus-themed keywords ('Embodied stability, sensory wealth. Ruler Venus. I HAVE.') that read like a content excerpt or tagline. An agent can infer from the tool name that this is Taurus deep-dive content, but the description itself never says what the tool does. It is closer to a poetic restatement of the sign than a clear purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling tools include near-identical per-sign deep-dive tools, yet the description never explains that this one should be selected for Taurus content specifically. It lists a group and cost, but neither tells the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_virgoVirgo: Mutable EarthCRead-onlyIdempotentInspect
Discerning service, refined craft. Ruler Mercury. I ANALYZE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's genuine addition is the 10-credit cost tier, which is useful behavioral context, but it says nothing about what content is returned or whether any prerequisites apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, and the group/cost tags are cleanly bracketed. However, the three flavor sentences consume the entire description without helping an agent select or invoke the tool, so they do not earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the tool takes no required parameters. Still, for a content-retrieval tool the description never states that it returns a deep interpretive profile for Virgo, leaving the agent to reconstruct that from the name and sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters ('fields', 'precision') are documented at 100% schema coverage with examples and defaults, so the schema carries the full burden. The description adds no parameter meaning beyond that, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description body ('Discerning service, refined craft. Ruler Mercury. I ANALYZE.') is thematic flavor about Virgo, not a statement of what the tool does or returns. The only structural signal is the '[Group: Zodiac Signs (Per-Sign Deep)]' tag, which categorizes but does not describe an action; the actual purpose must be inferred from the tool name and title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. The '[Cost: 10 credits (Tier 1)]' tag is the only selection-relevant fact, and it says nothing about when this per-sign deep tool should be chosen over its eleven per-sign siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
783 tool updates
- First observed
astroway_account_status - First observed
astroway_agent_tools - First observed
astroway_ai_interpret_element - First observed
astroway_ai_interpret_natal - First observed
astroway_ai_interpret_placement - First observed
astroway_ai_interpret_synastry - First observed
astroway_ai_interpret_transits - First observed
astroway_aspects_antiscia - First observed
astroway_aspects_arabic_parts - First observed
astroway_aspects_aspect_bar - First observed
astroway_aspects_aspect_timeline - First observed
astroway_aspects_fixed_stars - First observed
astroway_aspects_fixed_stars_catalog - First observed
astroway_aspects_gauquelin_sectors - First observed
astroway_aspects_midpoint_trees - First observed
astroway_aspects_midpoints - First observed
astroway_aspects_parallel_aspects - First observed
astroway_aspects_sabian_symbols - First observed
astroway_bazi_chart - First observed
astroway_bazi_day_master - First observed
astroway_bazi_element_balance - First observed
astroway_bazi_four_pillars - First observed
astroway_bazi_hidden_stems - First observed
astroway_bazi_hour_pillar - First observed
astroway_bazi_interactions - First observed
astroway_bazi_life_stages - First observed
astroway_bazi_luck_pillars - First observed
astroway_bazi_month_pillar - First observed
astroway_bazi_monthly - First observed
astroway_bazi_na_yin - First observed
astroway_bazi_strength - First observed
astroway_bazi_symbolic_stars - First observed
astroway_bazi_ten_gods - First observed
astroway_bazi_year_pillar - First observed
astroway_bazi_year_pillar_decade - First observed
astroway_bazi_yearly - First observed
astroway_business_customer_archetype - First observed
astroway_business_electional_day - First observed
astroway_business_expansion_timing - First observed
astroway_business_founder_personality - First observed
astroway_business_founding_chart - First observed
astroway_business_ideal_industry - First observed
astroway_business_ideal_partner_sign - First observed
astroway_business_leadership_style - First observed
astroway_business_marketing_style - First observed
astroway_business_name_suggestions - First observed
astroway_business_risk_profile - First observed
astroway_business_team_compatibility - First observed
astroway_calendar_algol_minimum - First observed
astroway_calendar_algol_minimum_nearest - First observed
astroway_calendar_aspects - First observed
astroway_calendar_cyclic_index - First observed
astroway_calendar_eclipses - First observed
astroway_calendar_houses - First observed
astroway_calendar_ingresses - First observed
astroway_calendar_lunar_calendar - First observed
astroway_calendar_moon_aspects - First observed
astroway_calendar_moon_phase - First observed
astroway_calendar_moon_voc - First observed
astroway_calendar_planetary_cycles - First observed
astroway_calendar_planetary_hours - First observed
astroway_calendar_planetary_phases - First observed
astroway_calendar_retrograde_periods - First observed
astroway_chinese_feng_shui_annual_stars - First observed
astroway_chinese_feng_shui_bagua - First observed
astroway_chinese_feng_shui_flying_star - First observed
astroway_chinese_feng_shui_kua - First observed
astroway_chinese_feng_shui_lucky_directions - First observed
astroway_chinese_lunar_date - First observed
astroway_chinese_solar_terms - First observed
astroway_chinese_tong_shu - First observed
astroway_chinese_tong_shu_select - First observed
astroway_chinese_true_solar_time - First observed
astroway_chinese_zodiac_animal - First observed
astroway_chinese_zodiac_compatibility - First observed
astroway_chinese_zodiac_element - First observed
astroway_chinese_zodiac_inner_animal - First observed
astroway_chinese_zodiac_secret_animal - First observed
astroway_content_localization_translate_astro - First observed
astroway_content_localization_translate_batch - First observed
astroway_content_localization_translate_glossary_lang - First observed
astroway_content_localization_translate_languages - First observed
astroway_cosmobiology_cosmogram - First observed
astroway_cosmobiology_dial_90 - First observed
astroway_cosmobiology_eight_harmonic_aspects - First observed
astroway_cosmobiology_lefeldt_extensions - First observed
astroway_cosmobiology_midpoint_pictures - First observed
astroway_cosmobiology_personal_point_tree - First observed
astroway_cosmobiology_sensitive_points - First observed
astroway_cosmobiology_transit_midpoints - First observed
astroway_cosmobiology_uranian_tnps - First observed
astroway_cosmobiology_witte_formulas - First observed
astroway_cost_estimate - First observed
astroway_destiny_matrix_ladini - First observed
astroway_dignities_almuten - First observed
astroway_dignities_disposition_chains - First observed
astroway_dignities_disposition_chains_layout - First observed
astroway_dignities_essential_dignities - First observed
astroway_dignities_hyleg - First observed
astroway_dignities_receptions - First observed
astroway_esoteric_angel_numbers - First observed
astroway_esoteric_angel_numbers_by_life_path_n - First observed
astroway_esoteric_angel_numbers_decode - First observed
astroway_esoteric_angel_numbers_number - First observed
astroway_esoteric_angel_numbers_today - First observed
astroway_esoteric_crystals - First observed
astroway_esoteric_crystals_by_chakra_chakra - First observed
astroway_esoteric_crystals_by_purpose_purpose - First observed
astroway_esoteric_crystals_by_zodiac_sign - First observed
astroway_esoteric_crystals_recommend - First observed
astroway_esoteric_djamaspa - First observed
astroway_esoteric_dreams - First observed
astroway_esoteric_dreams_by_element_element - First observed
astroway_esoteric_dreams_decode - First observed
astroway_esoteric_dreams_recurring_themes - First observed
astroway_esoteric_dreams_symbol_keyword - First observed
astroway_esoteric_iching - First observed
astroway_evolutionary_nodal_axis_detail - First observed
astroway_evolutionary_pluto_natal_condition - First observed
astroway_evolutionary_skipped_steps - First observed
astroway_evolutionary_soul_types - First observed
astroway_evolutionary_yesterday_sky - First observed
astroway_family_genogram - First observed
astroway_family_parent_child_deep - First observed
astroway_family_saturn_return_cycles - First observed
astroway_family_sibling_dynamics - First observed
astroway_family_system_pattern - First observed
astroway_financial_career_money_style - First observed
astroway_financial_investor_archetype - First observed
astroway_financial_lucky_day - First observed
astroway_financial_lucky_numbers - First observed
astroway_financial_market_timing - First observed
astroway_financial_risk_tolerance - First observed
astroway_financial_savings_tips - First observed
astroway_financial_spending_style - First observed
astroway_financial_wealth_cycle - First observed
astroway_financial_wealth_house - First observed
astroway_geo_acg - First observed
astroway_geo_acg_best_places - First observed
astroway_geo_acg_by_category - First observed
astroway_geo_acg_categories - First observed
astroway_geo_acg_countries - First observed
astroway_geo_acg_line_report - First observed
astroway_geo_acg_zones - First observed
astroway_geo_ccg_analysis - First observed
astroway_geo_eclipse_analysis - First observed
astroway_geo_geodetic - First observed
astroway_geo_local_space - First observed
astroway_geo_local_space_influence_zone - First observed
astroway_geo_parans - First observed
astroway_geo_parans_star - First observed
astroway_geo_phase_return - First observed
astroway_geo_relocation - First observed
astroway_geo_solar_acg - First observed
astroway_geo_zenith - First observed
astroway_geomancy_acquisitio - First observed
astroway_geomancy_albus - First observed
astroway_geomancy_amissio - First observed
astroway_geomancy_caput_draconis - First observed
astroway_geomancy_carcer - First observed
astroway_geomancy_cauda_draconis - First observed
astroway_geomancy_coniunctio - First observed
astroway_geomancy_fortuna_major - First observed
astroway_geomancy_fortuna_minor - First observed
astroway_geomancy_laetitia - First observed
astroway_geomancy_populus - First observed
astroway_geomancy_puella - First observed
astroway_geomancy_puer - First observed
astroway_geomancy_rubeus - First observed
astroway_geomancy_tristitia - First observed
astroway_geomancy_via - First observed
astroway_hd_circuitry - First observed
astroway_hd_design_date - First observed
astroway_hd_dream_rave - First observed
astroway_hd_group_overlay - First observed
astroway_hd_hologenetic - First observed
astroway_hd_human_design - First observed
astroway_hd_human_design_compatibility - First observed
astroway_hd_human_design_transits - First observed
astroway_hd_incarnation_cross - First observed
astroway_hd_penta - First observed
astroway_hd_rave_new_years - First observed
astroway_hd_sensitivity - First observed
astroway_helb_bonifications_maltreatments - First observed
astroway_helb_profections_detail - First observed
astroway_helb_triplicity_rulers - First observed
astroway_helb_zodiacal_releasing_fortune - First observed
astroway_helb_zodiacal_releasing_spirit - First observed
astroway_helb_zr_loosing_of_bond - First observed
astroway_helg_antiscia_hellenistic - First observed
astroway_helg_contra_antiscia - First observed
astroway_helg_daimon_tyche_axis - First observed
astroway_helg_lot_of_eros_detail - First observed
astroway_helg_quality_of_time - First observed
astroway_helg_sphaera_barbarica - First observed
astroway_helg_temple_doctrine - First observed
astroway_helg_zodiacal_decans - First observed
astroway_hellenistic_brennan_bonifications_maltreatments - First observed
astroway_hellenistic_brennan_joys_of_planets - First observed
astroway_hellenistic_brennan_lots_15 - First observed
astroway_hellenistic_brennan_profections_detail - First observed
astroway_hellenistic_brennan_time_lord_stack - First observed
astroway_hellenistic_brennan_triplicity_rulers - First observed
astroway_hellenistic_brennan_zodiacal_releasing_fortune - First observed
astroway_hellenistic_brennan_zodiacal_releasing_spirit - First observed
astroway_hellenistic_brennan_zr_loosing_of_bond - First observed
astroway_hellenistic_brennan_zr_peak_periods - First observed
astroway_hellenistic_greenbaum_antiscia_hellenistic - First observed
astroway_hellenistic_greenbaum_contra_antiscia - First observed
astroway_hellenistic_greenbaum_daimon_tyche_axis - First observed
astroway_hellenistic_greenbaum_dodekatemoria - First observed
astroway_hellenistic_greenbaum_duodecima - First observed
astroway_hellenistic_greenbaum_lot_of_eros_detail - First observed
astroway_hellenistic_greenbaum_quality_of_time - First observed
astroway_hellenistic_greenbaum_sphaera_barbarica - First observed
astroway_hellenistic_greenbaum_temple_doctrine - First observed
astroway_hellenistic_greenbaum_zodiacal_decans - First observed
astroway_hellenistic_hand_bounds - First observed
astroway_hellenistic_hand_critical_degrees - First observed
astroway_hellenistic_hand_decanic_rulers - First observed
astroway_hellenistic_hand_decennials - First observed
astroway_hellenistic_hand_horoscopos_trine - First observed
astroway_hellenistic_hand_longevity_hyleg - First observed
astroway_hellenistic_hand_lots_of_seven - First observed
astroway_hellenistic_hand_perfections - First observed
astroway_hellenistic_hand_quarter_lord - First observed
astroway_hellenistic_hand_sect_strength - First observed
astroway_hellenistic_schmidt_aspectual_typology - First observed
astroway_hellenistic_schmidt_derivative_houses_method - First observed
astroway_hellenistic_schmidt_ennea_mooirai - First observed
astroway_hellenistic_schmidt_levels_of_causation - First observed
astroway_hellenistic_schmidt_lord_of_prediction - First observed
astroway_hellenistic_schmidt_morning_evening_stars - First observed
astroway_hellenistic_schmidt_qualities_and_quantities - First observed
astroway_hellenistic_schmidt_sect_classes - First observed
astroway_hellenistic_schmidt_stations_and_phases - First observed
astroway_hellenistic_schmidt_stoic_elementhood - First observed
astroway_hels_aspectual_typology - First observed
astroway_hels_derivative_houses_method - First observed
astroway_hels_levels_of_causation - First observed
astroway_hels_lord_of_prediction - First observed
astroway_hels_morning_evening_stars - First observed
astroway_hels_qualities_and_quantities - First observed
astroway_hels_stations_and_phases - First observed
astroway_hels_stoic_elementhood - First observed
astroway_horary_diagnostics - First observed
astroway_horary_horary - First observed
astroway_horary_moon_aspects - First observed
astroway_horary_moon_voc - First observed
astroway_horary_planetary_hours - First observed
astroway_horary_via_combusta - First observed
astroway_horoscope_compatibility - First observed
astroway_horoscope_daily - First observed
astroway_horoscope_monthly - First observed
astroway_horoscope_weekly - First observed
astroway_horoscope_yearly - First observed
astroway_iching_by_question - First observed
astroway_iching_daily - First observed
astroway_iching_lookup_number - First observed
astroway_iching_throw_coins - First observed
astroway_iching_with_changing_lines - First observed
astroway_kabbalah_gematria - First observed
astroway_kabbalah_sephiroth - First observed
astroway_kabbalah_shem_names - First observed
astroway_lnd_celtic_cross_lenormand - First observed
astroway_mayan_calendar_round - First observed
astroway_mayan_compatibility - First observed
astroway_mayan_dreamspell - First observed
astroway_mayan_full - First observed
astroway_mayan_haab - First observed
astroway_mayan_long_count - First observed
astroway_mayan_lord_of_night - First observed
astroway_mayan_tzolkin - First observed
astroway_mcp_agent_debate - First observed
astroway_mcp_agent_pool_status - First observed
astroway_mcp_ai_chat - First observed
astroway_mcp_ai_comparison_coach - First observed
astroway_mcp_ai_explain_aspect - First observed
astroway_mcp_ai_explain_transit - First observed
astroway_mcp_multi_agent_coordinate - First observed
astroway_mcp_multi_chart_context - First observed
astroway_mcp_rag_search - First observed
astroway_mcp_streaming - First observed
astroway_mcp_tool_call_stream - First observed
astroway_mcp_tools_list - First observed
astroway_numerology_chaldean_balance - First observed
astroway_numerology_chaldean_birthday - First observed
astroway_numerology_chaldean_challenge - First observed
astroway_numerology_chaldean_expression - First observed
astroway_numerology_chaldean_life_path - First observed
astroway_numerology_chaldean_maturity - First observed
astroway_numerology_chaldean_personal_year - First observed
astroway_numerology_chaldean_personality - First observed
astroway_numerology_chaldean_pinnacles - First observed
astroway_numerology_chaldean_soul_urge - First observed
astroway_numerology_kabbalistic_balance - First observed
astroway_numerology_kabbalistic_birthday - First observed
astroway_numerology_kabbalistic_challenge - First observed
astroway_numerology_kabbalistic_expression - First observed
astroway_numerology_kabbalistic_life_path - First observed
astroway_numerology_kabbalistic_maturity - First observed
astroway_numerology_kabbalistic_personal_year - First observed
astroway_numerology_kabbalistic_personality - First observed
astroway_numerology_kabbalistic_pinnacles - First observed
astroway_numerology_kabbalistic_soul_urge - First observed
astroway_numerology_kabbalistic_strict_balance - First observed
astroway_numerology_kabbalistic_strict_birthday - First observed
astroway_numerology_kabbalistic_strict_challenge - First observed
astroway_numerology_kabbalistic_strict_expression - First observed
astroway_numerology_kabbalistic_strict_life_path - First observed
astroway_numerology_kabbalistic_strict_maturity - First observed
astroway_numerology_kabbalistic_strict_personal_year - First observed
astroway_numerology_kabbalistic_strict_personality - First observed
astroway_numerology_kabbalistic_strict_pinnacles - First observed
astroway_numerology_kabbalistic_strict_soul_urge - First observed
astroway_numerology_pythagorean_balance - First observed
astroway_numerology_pythagorean_birthday - First observed
astroway_numerology_pythagorean_challenge - First observed
astroway_numerology_pythagorean_expression - First observed
astroway_numerology_pythagorean_life_path - First observed
astroway_numerology_pythagorean_maturity - First observed
astroway_numerology_pythagorean_personal_year - First observed
astroway_numerology_pythagorean_personality - First observed
astroway_numerology_pythagorean_pinnacles - First observed
astroway_numerology_pythagorean_soul_urge - First observed
astroway_numerology_vedic_balance - First observed
astroway_numerology_vedic_birthday - First observed
astroway_numerology_vedic_challenge - First observed
astroway_numerology_vedic_expression - First observed
astroway_numerology_vedic_life_path - First observed
astroway_numerology_vedic_maturity - First observed
astroway_numerology_vedic_personal_year - First observed
astroway_numerology_vedic_personality - First observed
astroway_numerology_vedic_pinnacles - First observed
astroway_numerology_vedic_soul_urge - First observed
astroway_numk_personal_year - First observed
astroway_numks_balance - First observed
astroway_numks_birthday - First observed
astroway_numks_challenge - First observed
astroway_numks_expression - First observed
astroway_numks_life_path - First observed
astroway_numks_maturity - First observed
astroway_numks_personal_year - First observed
astroway_numks_personality - First observed
astroway_numks_pinnacles - First observed
astroway_numks_soul_urge - First observed
astroway_nump_personal_year - First observed
astroway_palmistry_fate_line - First observed
astroway_palmistry_head_line - First observed
astroway_palmistry_heart_line - First observed
astroway_palmistry_life_line - First observed
astroway_palmistry_marriage_line - First observed
astroway_pet_best_names - First observed
astroway_pet_birth_chart - First observed
astroway_pet_communication_style - First observed
astroway_pet_diet_by_sign - First observed
astroway_pet_exercise_needs - First observed
astroway_pet_grooming_by_element - First observed
astroway_pet_health_tips - First observed
astroway_pet_lucky_day - First observed
astroway_pet_owner_pet_compatibility - First observed
astroway_pet_personality - First observed
astroway_pet_play_style - First observed
astroway_pet_sun_sign_meaning - First observed
astroway_pet_temperament - First observed
astroway_pet_training_style - First observed
astroway_prognostics_firdaria - First observed
astroway_prognostics_forecast_calendar - First observed
astroway_prognostics_lunar_return - First observed
astroway_prognostics_minor_progressions - First observed
astroway_prognostics_planetary_return - First observed
astroway_prognostics_primary_directions - First observed
astroway_prognostics_profections - First observed
astroway_prognostics_progressions - First observed
astroway_prognostics_rectification - First observed
astroway_prognostics_rectification_trutine - First observed
astroway_prognostics_solar_return - First observed
astroway_prognostics_symbolic_directions - First observed
astroway_prognostics_tertiary_progressions - First observed
astroway_prognostics_transit_calendar - First observed
astroway_prognostics_transits - First observed
astroway_psya_cycle_of_becoming - First observed
astroway_psya_element_balance - First observed
astroway_psya_element_integration - First observed
astroway_psya_relational_element_map - First observed
astroway_psya_water_houses_trauma - First observed
astroway_psychological_modern_arroyo_cycle_of_becoming - First observed
astroway_psychological_modern_arroyo_element_balance - First observed
astroway_psychological_modern_arroyo_element_integration - First observed
astroway_psychological_modern_arroyo_relational_element_map - First observed
astroway_psychological_modern_arroyo_water_houses_trauma - First observed
astroway_psychological_modern_greene_archetypal_figures - First observed
astroway_psychological_modern_greene_individuation_path - First observed
astroway_psychological_modern_greene_lunar_myth - First observed
astroway_psychological_modern_greene_parental_imagos - First observed
astroway_psychological_modern_greene_saturn_shadow - First observed
astroway_psychological_modern_rudhyar_cycles_of_becoming - First observed
astroway_psychological_modern_rudhyar_lunation_phase - First observed
astroway_psychological_modern_rudhyar_personality_keynote - First observed
astroway_psychological_modern_rudhyar_symbolic_degrees - First observed
astroway_psychological_modern_rudhyar_transits_as_rebirth - First observed
astroway_psyg_archetypal_figures - First observed
astroway_psyg_individuation_path - First observed
astroway_psyg_lunar_myth - First observed
astroway_psyg_parental_imagos - First observed
astroway_psyg_saturn_shadow - First observed
astroway_psyr_cycles_of_becoming - First observed
astroway_psyr_lunation_phase - First observed
astroway_psyr_personality_keynote - First observed
astroway_psyr_symbolic_degrees - First observed
astroway_psyr_transits_as_rebirth - First observed
astroway_reference_natal_texts - First observed
astroway_rel_synastry_attraction_score - First observed
astroway_relational_coalescent - First observed
astroway_relational_composite - First observed
astroway_relational_davison - First observed
astroway_relational_group_synastry - First observed
astroway_relational_match_score - First observed
astroway_relational_synastry - First observed
astroway_relational_synastry_aspect_grid - First observed
astroway_relational_synastry_attraction_score - First observed
astroway_relational_synastry_element_balance - First observed
astroway_relational_synastry_house_overlay - First observed
astroway_render_aspect_grid - First observed
astroway_render_bi_wheel - First observed
astroway_render_biorhythm - First observed
astroway_render_composite - First observed
astroway_render_cosmogram - First observed
astroway_render_eclipse_path - First observed
astroway_render_moon_phase - First observed
astroway_render_star_map - First observed
astroway_render_timeline - First observed
astroway_render_tri_wheel - First observed
astroway_render_wheel_vedic_east - First observed
astroway_render_wheel_vedic_north - First observed
astroway_render_wheel_vedic_south - First observed
astroway_render_wheel_western - First observed
astroway_reports_ai_monthly_narrative - First observed
astroway_reports_ai_natal_narrative - First observed
astroway_reports_ai_synastry_narrative - First observed
astroway_reports_ai_transit_narrative - First observed
astroway_reports_ai_year_ahead_narrative - First observed
astroway_reports_business - First observed
astroway_reports_career - First observed
astroway_reports_child - First observed
astroway_reports_gemstone - First observed
astroway_reports_generate - First observed
astroway_reports_history - First observed
astroway_reports_human_design - First observed
astroway_reports_lal_kitab - First observed
astroway_reports_love - First observed
astroway_reports_money - First observed
astroway_reports_muhurta - First observed
astroway_reports_natal - First observed
astroway_reports_relocation - First observed
astroway_reports_stellaforge - First observed
astroway_reports_synastry - First observed
astroway_reports_tarot - First observed
astroway_reports_transit_yearly - First observed
astroway_reports_vedic_kundli - First observed
astroway_runes_by_zodiac - First observed
astroway_runes_nine - First observed
astroway_runes_runes - First observed
astroway_runes_single - First observed
astroway_runes_three - First observed
astroway_specialized_draconic - First observed
astroway_specialized_harmonics - First observed
astroway_specialized_heliocentric - First observed
astroway_specialized_horizon - First observed
astroway_specialized_vedic_divisional - First observed
astroway_stream_eclipse_incoming - First observed
astroway_stream_eclipse_totality - First observed
astroway_stream_ingress - First observed
astroway_stream_lunar_phase - First observed
astroway_stream_planetary_hour_changes - First observed
astroway_stream_positions - First observed
astroway_stream_retrograde_alerts - First observed
astroway_stream_sunrise_sunset - First observed
astroway_stream_transit_alerts - First observed
astroway_stream_void_of_course - First observed
astroway_tarot_lenormand_cards - First observed
astroway_tarot_lenormand_cards_slug - First observed
astroway_tarot_lenormand_daily - First observed
astroway_tarot_lenormand_draw_9_card_square - First observed
astroway_tarot_lenormand_draw_celtic_cross_lenormand - First observed
astroway_tarot_lenormand_draw_grand_tableau - First observed
astroway_tarot_lenormand_draw_line_of_five - First observed
astroway_tarot_lenormand_draw_relationship - First observed
astroway_tarot_lenormand_draw_three_card - First observed
astroway_tarot_lenormand_houses - First observed
astroway_tarot_marseille_birth_card - First observed
astroway_tarot_marseille_cards - First observed
astroway_tarot_marseille_cards_slug - First observed
astroway_tarot_marseille_clarify - First observed
astroway_tarot_marseille_daily - First observed
astroway_tarot_marseille_draw_career - First observed
astroway_tarot_marseille_draw_celtic_cross - First observed
astroway_tarot_marseille_draw_cross - First observed
astroway_tarot_marseille_draw_decision - First observed
astroway_tarot_marseille_draw_hero - First observed
astroway_tarot_marseille_draw_love - First observed
astroway_tarot_marseille_draw_seven_card - First observed
astroway_tarot_marseille_draw_single - First observed
astroway_tarot_marseille_draw_spiritual - First observed
astroway_tarot_marseille_draw_three_card - First observed
astroway_tarot_marseille_interpret - First observed
astroway_tarot_marseille_majors - First observed
astroway_tarot_marseille_spreads - First observed
astroway_tarot_marseille_spreads_slug - First observed
astroway_tarot_marseille_timing - First observed
astroway_tarot_marseille_year_card - First observed
astroway_tarot_rider_waite_advice - First observed
astroway_tarot_rider_waite_birth_card - First observed
astroway_tarot_rider_waite_cards - First observed
astroway_tarot_rider_waite_cards_slug - First observed
astroway_tarot_rider_waite_clarify - First observed
astroway_tarot_rider_waite_courts - First observed
astroway_tarot_rider_waite_cross_sum - First observed
astroway_tarot_rider_waite_daily - First observed
astroway_tarot_rider_waite_draw_career - First observed
astroway_tarot_rider_waite_draw_celtic_cross - First observed
astroway_tarot_rider_waite_draw_chakra - First observed
astroway_tarot_rider_waite_draw_decision - First observed
astroway_tarot_rider_waite_draw_horseshoe - First observed
astroway_tarot_rider_waite_draw_love_triangle - First observed
astroway_tarot_rider_waite_draw_relationship - First observed
astroway_tarot_rider_waite_draw_shadow_work - First observed
astroway_tarot_rider_waite_draw_single - First observed
astroway_tarot_rider_waite_draw_spiritual_path - First observed
astroway_tarot_rider_waite_draw_three_card - First observed
astroway_tarot_rider_waite_draw_year_ahead - First observed
astroway_tarot_rider_waite_elements_element - First observed
astroway_tarot_rider_waite_interpret - First observed
astroway_tarot_rider_waite_keywords_keyword - First observed
astroway_tarot_rider_waite_majors - First observed
astroway_tarot_rider_waite_minors - First observed
astroway_tarot_rider_waite_missing_info - First observed
astroway_tarot_rider_waite_numbers_n - First observed
astroway_tarot_rider_waite_outcome - First observed
astroway_tarot_rider_waite_shadow_card - First observed
astroway_tarot_rider_waite_soul_personality_card - First observed
astroway_tarot_rider_waite_spreads - First observed
astroway_tarot_rider_waite_spreads_slug - First observed
astroway_tarot_rider_waite_suits_suit - First observed
astroway_tarot_rider_waite_timing - First observed
astroway_tarot_rider_waite_year_card - First observed
astroway_trwd_love_triangle - First observed
astroway_trwd_spiritual_path - First observed
astroway_vd_shodashottari_pratyantar - First observed
astroway_vedic_ashtakavarga - First observed
astroway_vedic_bhavabala - First observed
astroway_vedic_compatibility_ashtakoot - First observed
astroway_vedic_compatibility_bhrigu_match - First observed
astroway_vedic_compatibility_dashakoota - First observed
astroway_vedic_compatibility_full - First observed
astroway_vedic_compatibility_mangal_match - First observed
astroway_vedic_compatibility_manglik_check - First observed
astroway_vedic_dashas_ashtottari_antar - First observed
astroway_vedic_dashas_ashtottari_maha - First observed
astroway_vedic_dashas_ashtottari_prana - First observed
astroway_vedic_dashas_ashtottari_pratyantar - First observed
astroway_vedic_dashas_ashtottari_sookshma - First observed
astroway_vedic_dashas_chara_antar - First observed
astroway_vedic_dashas_chara_maha - First observed
astroway_vedic_dashas_chara_prana - First observed
astroway_vedic_dashas_chara_pratyantar - First observed
astroway_vedic_dashas_chara_sookshma - First observed
astroway_vedic_dashas_kalachakra_antar - First observed
astroway_vedic_dashas_kalachakra_maha - First observed
astroway_vedic_dashas_kalachakra_prana - First observed
astroway_vedic_dashas_kalachakra_pratyantar - First observed
astroway_vedic_dashas_kalachakra_sookshma - First observed
astroway_vedic_dashas_shatabdika_antar - First observed
astroway_vedic_dashas_shatabdika_maha - First observed
astroway_vedic_dashas_shatabdika_prana - First observed
astroway_vedic_dashas_shatabdika_pratyantar - First observed
astroway_vedic_dashas_shatabdika_sookshma - First observed
astroway_vedic_dashas_shodashottari_antar - First observed
astroway_vedic_dashas_shodashottari_maha - First observed
astroway_vedic_dashas_shodashottari_prana - First observed
astroway_vedic_dashas_shodashottari_pratyantar - First observed
astroway_vedic_dashas_shodashottari_sookshma - First observed
astroway_vedic_dashas_shoola_antar - First observed
astroway_vedic_dashas_shoola_maha - First observed
astroway_vedic_dashas_shoola_prana - First observed
astroway_vedic_dashas_shoola_pratyantar - First observed
astroway_vedic_dashas_shoola_sookshma - First observed
astroway_vedic_dashas_sthira_antar - First observed
astroway_vedic_dashas_sthira_maha - First observed
astroway_vedic_dashas_sthira_prana - First observed
astroway_vedic_dashas_sthira_pratyantar - First observed
astroway_vedic_dashas_sthira_sookshma - First observed
astroway_vedic_dashas_tribhagi_antar - First observed
astroway_vedic_dashas_tribhagi_maha - First observed
astroway_vedic_dashas_tribhagi_prana - First observed
astroway_vedic_dashas_tribhagi_pratyantar - First observed
astroway_vedic_dashas_tribhagi_sookshma - First observed
astroway_vedic_dashas_vimshottari_antar - First observed
astroway_vedic_dashas_vimshottari_maha - First observed
astroway_vedic_dashas_vimshottari_prana - First observed
astroway_vedic_dashas_vimshottari_pratyantar - First observed
astroway_vedic_dashas_vimshottari_sookshma - First observed
astroway_vedic_dashas_yogini_antar - First observed
astroway_vedic_dashas_yogini_maha - First observed
astroway_vedic_dashas_yogini_prana - First observed
astroway_vedic_dashas_yogini_pratyantar - First observed
astroway_vedic_dashas_yogini_sookshma - First observed
astroway_vedic_doshas_kp_full - First observed
astroway_vedic_doshas_kp_kalasarpa - First observed
astroway_vedic_doshas_kp_kemadruma - First observed
astroway_vedic_doshas_kp_manglik - First observed
astroway_vedic_doshas_kp_pitra - First observed
astroway_vedic_doshas_kp_sade_sati - First observed
astroway_vedic_doshas_lal_kitab_full - First observed
astroway_vedic_doshas_lal_kitab_kalsarpa - First observed
astroway_vedic_doshas_lal_kitab_manglik - First observed
astroway_vedic_doshas_lal_kitab_pitra - First observed
astroway_vedic_doshas_lal_kitab_rin - First observed
astroway_vedic_doshas_lal_kitab_shrapit - First observed
astroway_vedic_doshas_parashara_full - First observed
astroway_vedic_doshas_parashara_grahan - First observed
astroway_vedic_doshas_parashara_guru_chandal - First observed
astroway_vedic_doshas_parashara_kaal_sarp - First observed
astroway_vedic_doshas_parashara_mangal - First observed
astroway_vedic_doshas_parashara_pitru - First observed
astroway_vedic_doshas_parashara_shrapit - First observed
astroway_vedic_gemstones - First observed
astroway_vedic_gemstones_navaratna - First observed
astroway_vedic_jaimini_argala_analysis - First observed
astroway_vedic_jaimini_aspects - First observed
astroway_vedic_jaimini_atmakaraka_navamsa - First observed
astroway_vedic_jaimini_atmakaraka_rotation - First observed
astroway_vedic_jaimini_chara_karakas - First observed
astroway_vedic_jaimini_dasha_summary - First observed
astroway_vedic_jaimini_drishti_graha - First observed
astroway_vedic_jaimini_drishti_rasi - First observed
astroway_vedic_jaimini_karakas - First observed
astroway_vedic_jaimini_padas - First observed
astroway_vedic_jaimini_upapada - First observed
astroway_vedic_jaimini_yogas - First observed
astroway_vedic_kp_asc_sub - First observed
astroway_vedic_kp_cusps - First observed
astroway_vedic_kp_fortuna - First observed
astroway_vedic_kp_horary - First observed
astroway_vedic_kp_planet_cuspal_position - First observed
astroway_vedic_kp_ruling_planets - First observed
astroway_vedic_kp_significators - First observed
astroway_vedic_kp_sub_lords - First observed
astroway_vedic_kp_sub_sub_lord - First observed
astroway_vedic_kp_transit_kp - First observed
astroway_vedic_lal_kitab_blind_house - First observed
astroway_vedic_lal_kitab_dasha - First observed
astroway_vedic_lal_kitab_debts - First observed
astroway_vedic_lal_kitab_kismat - First observed
astroway_vedic_lal_kitab_lal_kundali - First observed
astroway_vedic_lal_kitab_life_graph - First observed
astroway_vedic_lal_kitab_planet_house_effect - First observed
astroway_vedic_lal_kitab_prosperity - First observed
astroway_vedic_lal_kitab_remedies - First observed
astroway_vedic_lal_kitab_sleeping_house - First observed
astroway_vedic_lal_kitab_teva - First observed
astroway_vedic_lal_kitab_varshphal - First observed
astroway_vedic_muhurat_business_start - First observed
astroway_vedic_muhurat_education_start - First observed
astroway_vedic_muhurat_general_auspicious - First observed
astroway_vedic_muhurat_investment - First observed
astroway_vedic_muhurat_journey_long - First observed
astroway_vedic_muhurat_marriage - First observed
astroway_vedic_muhurat_name_change - First observed
astroway_vedic_muhurat_naming_ceremony - First observed
astroway_vedic_muhurat_property_purchase - First observed
astroway_vedic_muhurat_surgery - First observed
astroway_vedic_muhurat_travel - First observed
astroway_vedic_muhurat_vehicle_purchase - First observed
astroway_vedic_muhurta_types - First observed
astroway_vedic_nakshatras - First observed
astroway_vedic_panchang_choghadia - First observed
astroway_vedic_panchang_full - First observed
astroway_vedic_panchang_hora - First observed
astroway_vedic_panchang_karana - First observed
astroway_vedic_panchang_nakshatra_of_day - First observed
astroway_vedic_panchang_rahu_kaal - First observed
astroway_vedic_panchang_tithi - First observed
astroway_vedic_panchang_yoga - First observed
astroway_vedic_shadbala_cheshta - First observed
astroway_vedic_shadbala_dig - First observed
astroway_vedic_shadbala_drik - First observed
astroway_vedic_shadbala_full - First observed
astroway_vedic_shadbala_kala - First observed
astroway_vedic_shadbala_naisargika - First observed
astroway_vedic_shadbala_sthana - First observed
astroway_vedic_varga_d1 - First observed
astroway_vedic_varga_d10 - First observed
astroway_vedic_varga_d12 - First observed
astroway_vedic_varga_d16 - First observed
astroway_vedic_varga_d2 - First observed
astroway_vedic_varga_d20 - First observed
astroway_vedic_varga_d24 - First observed
astroway_vedic_varga_d27 - First observed
astroway_vedic_varga_d3 - First observed
astroway_vedic_varga_d30 - First observed
astroway_vedic_varga_d4 - First observed
astroway_vedic_varga_d40 - First observed
astroway_vedic_varga_d45 - First observed
astroway_vedic_varga_d60 - First observed
astroway_vedic_varga_d7 - First observed
astroway_vedic_varga_d9 - First observed
astroway_vedic_varshaphal - First observed
astroway_vedic_yogas_jaimini_daridra - First observed
astroway_vedic_yogas_jaimini_dhana - First observed
astroway_vedic_yogas_jaimini_full - First observed
astroway_vedic_yogas_jaimini_karaka_yoga - First observed
astroway_vedic_yogas_jaimini_karakamsa - First observed
astroway_vedic_yogas_jaimini_raja - First observed
astroway_vedic_yogas_jaimini_shubha_graha - First observed
astroway_vedic_yogas_jaimini_viparita - First observed
astroway_vedic_yogas_parashara_adhi - First observed
astroway_vedic_yogas_parashara_dhana - First observed
astroway_vedic_yogas_parashara_dharma_karmadhipati - First observed
astroway_vedic_yogas_parashara_full - First observed
astroway_vedic_yogas_parashara_gajakesari - First observed
astroway_vedic_yogas_parashara_pancha_mahapurusha - First observed
astroway_vedic_yogas_parashara_raja - First observed
astroway_vyp_dharma_karmadhipati - First observed
astroway_vyp_pancha_mahapurusha - First observed
astroway_webhooks_dasha_change - First observed
astroway_webhooks_eclipse_alert - First observed
astroway_webhooks_id - First observed
astroway_webhooks_id_test - First observed
astroway_webhooks_mahadasha_end - First observed
astroway_webhooks_planetary_hour_tick - First observed
astroway_webhooks_retrograde_end - First observed
astroway_webhooks_retrograde_start - First observed
astroway_webhooks_return_due - First observed
astroway_webhooks_sign_ingress - First observed
astroway_webhooks_subscribe - First observed
astroway_webhooks_transit_trigger - First observed
astroway_webhooks_void_of_course_start - First observed
astroway_webhooks_webhooks - First observed
astroway_wellness_biorhythm - First observed
astroway_wellness_crystals - First observed
astroway_wellness_cycle - First observed
astroway_wellness_diet - First observed
astroway_wellness_exercise - First observed
astroway_wellness_herbs - First observed
astroway_wellness_medical_astrology - First observed
astroway_wellness_mental_health - First observed
astroway_wellness_sleep_cycles - First observed
astroway_wellness_yoga - First observed
astroway_western_chart - First observed
astroway_western_ephemeris - First observed
astroway_western_planets - First observed
astroway_western_sun_times - First observed
astroway_whitelabel_config - First observed
astroway_whitelabel_domain_verify - First observed
astroway_whitelabel_logo - First observed
astroway_whitelabel_preview - First observed
astroway_ziwei_chart - First observed
astroway_ziwei_four_transformations - First observed
astroway_ziwei_full_chart - First observed
astroway_ziwei_main_stars - First observed
astroway_ziwei_palace_career - First observed
astroway_ziwei_palace_children - First observed
astroway_ziwei_palace_destiny - First observed
astroway_ziwei_palace_health - First observed
astroway_ziwei_palace_property - First observed
astroway_ziwei_palace_siblings - First observed
astroway_ziwei_palace_spouse - First observed
astroway_ziwei_palace_travel - First observed
astroway_ziwei_palace_wealth - First observed
astroway_ziwei_twelve_palaces - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_aquarius - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_aries - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_cancer - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_capricorn - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_gemini - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_leo - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_libra - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_pisces - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_sagittarius - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_scorpio - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_taurus - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_virgo
Related MCP Connectors
Sub-arcsecond astrology on NASA JPL DE440: natal, transits, Human Design, Vedic, BaZi.
Western, Vedic, and Chinese astrology calculations, charts, forecasts, and geocoding.
Real astrology for AI agents: cosmic weather, synastry, timing, astrocartography, and divination.
Cosmic Score from 26 divination systems: the consensus when traditions disagree about you.
Related MCP Servers
AlicenseCqualityBmaintenanceComprehensive astrology MCP exposing every endpoint of the AstroWay Calculation API — natal charts, synastry, transits, Vedic dashas, Tarot, Numerology, Human Design. Sub-arcsecond Swiss Ephemeris precision, 10 000 free credits per month.100163 npm4MIT- AlicenseAqualityAmaintenanceVedic and Western astrology for AI agents: 103 read-only tools for natal charts, dasha, kundali matching with Rajju and Vedha vetoes, panchanga, numerology and tarot, backed by Swiss Ephemeris and verified against NASA JPL Horizons.8103MIT
- AlicenseAqualityCmaintenanceEnables compute of live Vedic astrology birth charts, dashas, kundali matches, and AI readings via 22 real API tools.2210 npm1MIT
- FlicenseNot gradedqualityDmaintenanceProvides real astrology and tarot computations using actual ephemeris and a 78-card deck, returning structured data such as natal charts, synastry, transits, and tarot draws without relying on an LLM for astrological facts.-
Glama MCP Gateway
Add one secure layer between your agents and this server.