Two tools with basic schemas and minimal descriptions. Both tools have proper JSON Schema with typed parameters and required fields, but descriptions are generic and lack context for LLM selection. No output schemas documented. No error handling guidance. Parameter descriptions are present but terse (city: 'City name', days: 'Number of days (1-7)'). No indication of pagination, rate limits, or failure modes. Tool names follow verb_noun pattern (get_current_weather, get_forecast) which is correct, but descriptions do not explain WHEN to use each tool or what distinguishes them.
Returns the current weather for the given city.
Returns a N-day weather forecast for the given city.
Tool descriptions lack context for LLM selection. 'Returns the current weather for the given city' does not explain when to use get_current_weather vs get_forecast, or what data structure is returned.
No output schemas documented. LLMs cannot plan downstream operations or extract fields without knowing the response structure (e.g., does weather include temperature, humidity, wind speed?).
Parameter descriptions are minimal (e.g., 'City name, e.g. London' for get_current_weather). No guidance on format, constraints, or error cases. LLMs may pass invalid city names without validation hints.
No error handling or recovery guidance. If a city is not found or API fails, LLMs have no instruction on what to do next (retry, search for alternatives, ask user).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
get_forecast parameter 'days' has constraint '1-7' only in description text, not in schema (no minimum/maximum in JSON Schema). LLMs cannot reliably parse text constraints.