An example project generated by cookiecutter-pywf_open_source.
Single tool with minimal definition quality. Tool name 'tool_get_forecast' violates verb_noun convention (should be 'get_forecast'). Description is adequate (44 chars, within 10-1024 range) but lacks context on when to use it or what it returns. Input schema present with proper types (float) and basic descriptions for latitude/longitude, but output schema is completely undocumented, LLMs cannot plan downstream operations. No error handling guidance, no pagination support, no mention of rate limits or API dependencies. Naming prefix 'tool_' is redundant and non-standard. Overall follows ~30% of applicable patterns.
Get the weather forecast for a location.
Tool name violates verb_noun convention. 'tool_get_forecast' should be 'get_forecast'. The 'tool_' prefix is redundant and non-standard; LLMs expect action verbs as the first word.
Output schema completely undocumented. Tool description does not specify what fields are returned (e.g., temperature, conditions, timestamp, units). LLMs cannot extract or chain results without knowing the response structure.
Parameter descriptions lack format/constraint details. 'Latitude of the location' and 'Longitude of the location' do not specify valid ranges (e.g., -90 to 90 for latitude, -180 to 180 for longitude). LLMs may pass invalid values.
No error handling guidance. Tool description does not explain what happens if coordinates are invalid, if the location is unsupported, or if the weather service is unavailable. Agents have no recovery path.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Missing tool composition context. No mention of whether this tool requires authentication, has rate limits, or depends on external APIs. Agents cannot plan multi-step workflows or handle failures gracefully.