A SvelteKit-based web application providing interactive maps, neighborhood profiles, and environmental/infrastructure scoring for Berlin districts and neighborhoods (Kieze)
Single tool 'cross_layer_query' has a reasonable description (127 chars, within 10-1024 range) and declares input schema with three properties. However, the schema lacks critical details: parameter descriptions are minimal ('Array of layer slugs to query' is the only substantive one), 'geometry' and 'filters' objects have no type constraints or field documentation, and no output schema is documented. The tool name does not follow verb_noun convention (should be 'query_layers' or 'search_geographic_layers'). No error handling guidance, no pagination support despite returning potentially large geographic datasets, and no indication of result limits. The schema is present but incomplete, parameters lack proper type definitions and descriptions.
Query data across multiple geographic layers (neighborhoods, districts, administrative regions) with filtering and aggregation capabilities
Tool name 'cross_layer_query' does not follow verb_noun convention. Should be 'query_layers', 'search_geographic_layers', or 'get_layer_data' to clearly signal the action.
Parameter 'geometry' and 'filters' are declared as generic objects with no type constraints, field documentation, or format specification. LLMs cannot infer valid structure. Should document GeoJSON geometry format and filter field names/types.
No output schema documented. LLMs cannot plan downstream operations or extract required fields (e.g., feature IDs, layer names, aggregated values). Must document return structure.
No pagination, result limits, or error handling guidance. Geographic queries can return thousands of features; unbounded results risk context window exhaustion and timeout failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2025-06-18+ | v2 |
Parameter 'layers' accepts an array of slugs but provides no enum, validation rules, or discovery mechanism. LLMs cannot know valid layer names without a separate discovery tool.