AI Skill 工程化规范检查工具 - Validate AI skills against specification
Skill Check exposes 19 tools with significant definition gaps. Most tools lack proper input schemas, parameters are listed but lack JSON Schema type definitions, descriptions, or constraints. Tool descriptions are present but generic (avg ~60 chars, well below the 194-char baseline). No output schemas documented. Error handling is absent; tools do not guide recovery or categorize failures. Security concerns: tools accept Path parameters directly without sanitization, risking path traversal. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear WRITE vs READ_ONLY risk classifications. Naming is reasonable (verb_noun pattern), but parameter naming is inconsistent (e.g., 'result' as a CheckResult object parameter is opaque to LLMs). Overall, this reads as a CLI tool hastily wrapped for MCP without agent-centric design.
Analyze skill dependencies and relationships
Check content quality and structure of SKILL.md body
Check skill directory structure against specification
Validate YAML frontmatter in SKILL.md
Check a single skill against specification rules
Create a new skill from template
Estimate token count for text (rough estimation)
Input schemas lack JSON Schema type definitions and constraints. Parameters listed as {'skill_path': {'type': 'Path', ...}} but no JSON Schema format, minLength, pattern, or enum constraints. LLMs cannot validate inputs or understand constraints.
No output schemas documented. Tools return CheckResult, DiagnosticReport, and other custom objects without field definitions. LLMs cannot plan downstream calls or extract required data.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Detect circular dependencies using DFS
Find skills with no incoming or outgoing references
Format diagnostic report as JSON
Format diagnostic report as Markdown
Format diagnostic report as human-readable text
Generate detailed diagnostic report with fix recommendations
List available skill templates
Migrate skill between specification versions
Migrate skill from v1 to v2 specification
Analyze skill performance and complexity metrics
Scan a directory for all skills and check them
Validate skill name according to naming conventions
Path parameters (skill_path, skills_dir, output_dir) accepted directly without sanitization. No validation against path traversal (e.g., '../../../etc/passwd'). LLMs can be tricked into accessing unauthorized files.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear WRITE vs READ_ONLY risk classifications. Agents cannot distinguish safe tools from destructive ones (e.g., auto_fix=true in check_skill modifies files).
Descriptions are generic and under 50 chars for most tools (e.g., 'Check a single skill against specification rules'). No guidance on WHEN to use each tool, dependencies, or recovery steps. Baseline is 194 chars.