Real-time design system drift detection and codebase consultation for React projects
Six tools with complete input schemas and descriptions, but quality is uneven. All tools are READ_ONLY (good for safety), but descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. alternatives. Parameters lack constraints (enums, ranges, formats). Output schemas are not documented, LLMs cannot plan downstream calls. No error handling guidance. Tool names follow verb_noun convention but lack specificity (e.g., 'consult_before_change' is vague about what 'consult' returns). Average description length ~80 chars (below 194-char baseline for A+ tools). No parameter descriptions beyond the property name itself.
Analyze drift in specific file or entire project
Check if styles comply with design system
Get design guidance before implementing frontend changes
Get existing component recommendations for new features
Get current design system patterns and conventions
Validate code against design system before implementation
No output schemas documented. LLMs cannot infer what fields to expect or plan downstream tool calls. Interfaces like DesignGuidance, ValidationResult, ComponentSuggestion are defined in TypeScript but not exposed in tool definitions.
Parameter descriptions are missing or trivial. 'intent' has description 'Description of intended change' (circular). 'styles' has 'Style object to validate' (no format guidance). LLMs cannot infer valid input shapes or constraints.
No enums or constraints on parameters. 'category' in get_current_patterns lists valid values in description ('components, colors, spacing, typography') but not as an enum. LLMs may hallucinate invalid categories.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
Tool descriptions lack WHEN/WHY guidance. 'consult_before_change' vs 'validate_proposed_code' vs 'get_component_recommendations' are semantically overlapping. LLMs cannot disambiguate which to call for a given intent.
No error handling guidance. If a file path is invalid, component not found, or design system not loaded, tools return nothing actionable. No recovery hints for LLMs.