Validates SKU compatibility and specifications across merchants for hardware devices
Single tool 'execute_skill_action' has a reasonable name starting with a verb, but critical gaps undermine quality. Description is only 44 characters, below the 10-1024 baseline and insufficient for LLM selection. Input schema is present with three parameters (target_sku_identifier, intended_host_device, required_voltage_watts), all with types and descriptions, but output schema is completely undocumented, LLMs cannot plan downstream calls. No error handling guidance, no pagination, no idempotency markers. The tool appears to perform a read-only validation but lacks structured output documentation. Tool definition is visible in mcp_server.py but implementation is minimal (only prints JSON startup message; actual logic is in client.py, which is not integrated into the MCP server).
Execute SKU specification validation action
Tool description is only 44 characters ('Execute SKU specification validation action'). Baseline is 194 chars (p10=34, p90=392). Too short to guide LLM selection; lacks WHAT, WHEN, and prerequisites.
Output schema is completely undocumented. LLMs cannot infer response structure (validation_report_id, hardware_compatibility_verified, etc.). Baseline: 100% of A+ tools have documented return types.
No error handling guidance. Tool lacks recovery hints (e.g., 'If SKU not found, try search_skus()'), error classification (retryable vs fatal), or actionable error messages. Baseline: pattern:recovery-guide requires 'what to do next'.
MCP server implementation is non-functional. mcp_server.py only prints a startup message and does not actually handle tool invocations. Real logic is in client.py (CrossMerchantSkuSpecificationValidatorClient), which is not wired into the MCP protocol handler. Tool cannot be called.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tool is marked READ_ONLY in metadata but lacks formal annotation in schema. Agents cannot infer safety properties.