Real-time Python backend for a voice assistant with MCP tool integration, speech engine runtime, and agent capabilities
HeyClaw exposes only one tool: read_skill. The tool has a basic description and minimal input schema. The description (89 chars) is below the 194-char baseline for production tools and lacks context on WHEN to use it or WHAT it returns. The input schema defines only a 'name' parameter with a string type and brief description, but provides no enum constraints, format specifications, or validation guidance. No output schema is documented. The tool name 'read_skill' is generic and does not follow verb_noun conventions clearly (should be 'get_skill_instructions' or 'fetch_skill_details'). No error handling guidance, no pagination, no composition hints. The server appears to be a voice assistant backend with MCP integration, but the single exposed tool is insufficient for meaningful agent interaction.
Reads the complete instructions for a skill listed in the context. Use it before the external tools described by the skill.
Tool description is too brief (89 chars, baseline 194) and lacks WHEN/WHY context. Does not explain what 'skill' means, what instructions are returned, or when to call this vs other tools.
No output schema documented. LLM cannot predict what fields the response contains or plan downstream tool calls.
Input parameter 'name' lacks enum constraint or validation guidance. No indication of valid skill names, format, or how to discover available skills.
Tool name 'read_skill' is generic and ambiguous. Does not clearly convey action (get, fetch, list, describe). Verb_noun convention not followed.
No error handling guidance. If a skill name is invalid or not found, LLM has no recovery path (e.g., 'Try list_available_skills() first').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | <=2025-11-25 | v2 |