Discover, vet, and install Claude Code extensions (skills, MCP servers, plugins, commands) with safety scanning and reputation scoring
skill-scout defines 3 tools with complete input schemas and descriptions. Naming is action-oriented (discover, vet, install). Descriptions are substantive (100-200 chars), explaining WHAT and WHEN. However, output schemas are not documented, LLMs cannot predict response structure for chaining. Error handling is minimal; no recovery guidance. Parameters lack format constraints (e.g., repo URL validation, SHA format). The 'install' tool conflates multiple ecosystems (skill vs mcp/plugin/command) with different behaviors, violating single-responsibility. Risk annotations (READ_ONLY, WRITE) are present but not formalized in schema.
Discover extensions (skills, MCP servers, plugins, commands) matching a query across multiple sources (GitHub, claudemarketplaces, claudeskills.info, skills.sh). Returns ranked candidates with reputation scores.
Install an extension (skill, MCP server, plugin, or command) from a repository. For skills: clones repo at specified SHA into ~/.claude/skills/<name>, records in registry. For MCP/plugins/commands: returns recommended installation command (Phase 2).
Perform deep static security vetting of a repository: shallow-clone into sandbox, scan files for red-flag patterns (destructive commands, credential access, prompt injection, exfiltration, obfuscation), compute risk band (1-5), and return findings with severity counts.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting) for discover, vet, or install. Breaks tool chaining and forces agents to guess field names.
install tool conflates multiple ecosystems with different behaviors (skill clones into ~/.claude/skills; mcp/plugin/command return manual commands). Violates single-responsibility. Should split into install_skill and recommend_mcp_install.
No error handling guidance. Tools return JSON but do not document error cases, recovery steps, or retryability. E.g., what if repo URL is invalid? What if vetting times out?
Parameter constraints missing. 'repo' accepts any string; no URL validation or format hint. 'ref' (git branch/SHA) lacks pattern. 'limit' and 'min_score' lack min/max bounds.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Risk annotations (READ_ONLY, WRITE) are informal comments, not formalized in schema. Should use tool annotations (readOnlyHint, destructiveHint) per MCP spec.