Four tools with inconsistent quality. All have descriptions (10-50 chars, mostly adequate), but schemas are incomplete or missing. clone_shared_view_to_base has a basic 2-param schema; smart_search_profiles has 8 params with types but no descriptions visible in source; get_alerts and get_forecast have minimal schemas. No output schemas documented. Error handling is generic (try/except → string messages). No parameter validation, enums, or constraints. Tool names are verb-noun (good), but descriptions lack WHEN/WHY context. No tool annotations (readOnlyHint, destructiveHint). Composition is reasonable (single responsibility), but parameter descriptions are sparse or missing entirely.
Clone an Airtable shared view into a new base with full structure.
Get weather alerts for a US state.
Get weather forecast for a location.
Enhanced LinkedIn profile search with smart matching capabilities.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields.
smart_search_profiles has 8 parameters with types but descriptions are missing or not visible in source code. LLMs cannot infer when to use partial_match, min_similarity, or page parameters.
No parameter constraints (enums, ranges, patterns). get_alerts accepts any string for 'state' instead of enforcing 2-letter US codes. smart_search_profiles min_similarity accepts 0-100 but no validation shown.
Error handling is generic (try/except → string messages). No recovery guidance. 'Error cloning view: <str(e)>' tells LLM nothing actionable.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
clone_shared_view_to_base is a WRITE operation but has no confirmation step, dry-run option, or destructiveHint annotation. Agents could accidentally clone large bases.