Analyzes customer session events to detect friction points and churn risk, providing proactive intervention recommendations
Critical failures across all dimensions. The single tool 'execute_skill_action' has a minimal description (58 chars, below the 10-1024 baseline), lacks output schema documentation, and the tool definition is inferred from client.py rather than explicitly registered in mcp_server.py. The mcp_server.py file contains only a stub that prints a JSON status message, it does not implement the MCP protocol, handle tool calls, or define schemas. Input parameters lack descriptions entirely. No error handling, no validation, no recovery guidance. This is a non-functional MCP server.
Executes the customer journey friction and churn detection skill
Tool definition not explicitly registered in mcp_server.py. Tool existence inferred from client.py only.
No output schema documented. LLMs cannot plan downstream calls or extract required fields. Response structure (churn_risk_score, risk_level, frictions_detected, etc.) is visible only in client.py example, not in tool definition.
Input parameters 'session_events' and 'customer_tier' lack descriptions. LLMs cannot infer what session_events should contain (event structure, required fields, format) or what customer_tier values are valid.
Tool description is 58 characters ('Executes the customer journey friction and churn detection skill'). Lacks WHAT it does, WHEN to use it, and prerequisites. Does not state that it modifies state or returns churn risk scores.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 22 | 2026-07-28+ | v2 |
No error handling, validation, or recovery guidance. If session_events is malformed or customer_tier is invalid, no error message tells the LLM what to do next.