MCP server for SkillProof — ask whether a Claude Code skill was actually tested, and whether it works, before you install it.
Two tools with clear, action-oriented names (find_skill, check_skill) and solid descriptions (150 - 180 chars, within baseline 194 avg). Input schemas are present and typed. However, output schemas are completely undocumented, LLMs cannot predict response structure. Parameter descriptions are adequate but lack format/constraint details (e.g., 'limit' has no min/max bounds). Error handling is minimal; no guidance on recovery or retry logic. No tool annotations (readOnlyHint, idempotentHint). Composition is sound: two focused, single-responsibility tools that chain naturally.
Look up the SkillProof verdict for a specific skill by name, slug, or GitHub repo — use it before installing a skill someone recommended, to see whether it was tested and whether it actually works.
Find a Claude Code skill that has actually been tested for a given job. Returns the verdict (pass / setup / did not pass), the /10 score, what the test found, and the install command. Use before installing any skill from GitHub, or when the user asks "is there a skill for X".
Output schemas completely undocumented. LLMs cannot predict response structure (fields, types, nesting). Both tools return text content only; no structured object schema provided.
Numeric parameter 'limit' lacks bounds. No min/max specified; code caps at 20 but description does not state this. LLMs may pass invalid values.
No tool annotations (readOnlyHint, idempotentHint). Both tools are read-only and idempotent, but LLMs cannot infer this from definitions alone.
Error handling lacks recovery guidance. When no results found or skill not in catalog, responses are informative but do not guide LLM on next steps (e.g., 'Try a broader query' or 'Request a test').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Parameter 'include_failures' description uses parenthetical default; should be explicit in schema. Default behavior (true) is non-obvious from name alone.