CLI for searching Microsoft flagship event sessions (Build, Ignite)
Four tools with basic descriptions and parameter schemas, but significant gaps in LLM-optimization and error handling. Tool names lack action verbs (refresh, sessions, session, status are weak). Descriptions are present but generic (10-50 chars for most). Parameter schemas exist but lack enums for constrained inputs (event, type, limit). No output schemas documented. No error recovery guidance. No tool annotations. Naming does not follow verb_noun pattern, 'refresh' and 'sessions' are ambiguous without context.
Check for session catalog updates
Get full details for a specific session by its code (e.g., BRK155, KEY01)
Search sessions (requires at least one of: --query, --tech, or --speaker)
Show available events, cached session counts, and cache freshness
Tool names lack action verbs. 'refresh', 'sessions', 'session', 'status' do not follow verb_noun pattern (get_*, search_*, list_*). LLMs cannot infer intent from names alone.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., session codes, event IDs). Violates pattern:tool and pattern:response-shaper.
Constrained inputs lack enums. 'event' parameter accepts 'build-2025, ignite-2025, build-2026' but is typed as free-form string. LLMs will hallucinate invalid event IDs.
No error recovery guidance. Tools lack descriptions of failure modes, retryability, or next steps. E.g., 'sessions' requires at least one search criterion but provides no guidance if all are omitted.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Parameter descriptions are generic and lack format/constraint details. 'limit' has no min/max bounds; 'code' has no pattern or example format; 'query' lacks guidance on what fields are searched.