Three tools with basic verb-noun naming (get_*). All have descriptions (10-50 chars, below baseline 194 chars). Input schemas present for 2/3 tools but lack parameter descriptions and type constraints. get_historical_rainfall has empty input schema. No output schemas documented. No error handling guidance. No parameter validation hints. Descriptions are minimal and do not explain WHEN to use each tool or what the LLM should expect. No mention of Taiwan location requirements or API key handling.
Get 1-week weather forecast data for the specified county/city
Get 3-day weather forecast data for the specified county/city
Get rainfall data for the past three days
get_historical_rainfall has empty input schema ({}). No parameters documented, no return type documented. Violates pattern:tool requirement for schema documentation.
Parameter descriptions missing for location_name in get_3_days_weather and get_1_week_weather. While valid values are listed in docstring, they are not in the schema description field. LLMs cannot parse docstring text, they need descriptions in the parameter definition.
No output schemas documented for any tool. Descriptions state return types (list, dict) but do not specify field names, types, or structure. LLMs cannot plan downstream calls or extract data without knowing response shape.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Tool descriptions are 25-35 characters, well below baseline 194 chars. Descriptions do not explain WHEN to use each tool, what data is returned, or how they differ. 'Get 3-day weather forecast data' lacks context for LLM selection.
No error handling guidance. Code raises generic ValueError and Exception with minimal context. LLMs receive no recovery hints (e.g., 'Invalid location. Try search_locations() first'). Violates pattern:recovery-guide.