AgentSkillsCN

skill-validator

根据Anthropic的最佳实践,对技能的前言、结构、内容、文件组织、钩子、MCP及安全(8个类别共62条规则)进行验证。当创建新技能、更新现有技能、发布技能前、审查技能质量,或用户提到“验证技能”、“检查技能”、“技能最佳实践”、“技能评审”或“lint技能”时,就使用此技能。

SKILL.md
--- frontmatter
name: skill-validator
description: Validate skills against Anthropic best practices for frontmatter, structure, content, file organization, hooks, MCP, and security (62 rules in 8 categories). Use when creating new skills, updating existing skills, before publishing skills, reviewing skill quality, or when user mentions "validate skill", "check skill", "skill best practices", "skill review", or "lint skill".
argument-hint: [skill-path]

Skill Validator

Run automated checks against 62 rules covering frontmatter, structure, content, files, references, security, hooks, and MCP.

Quick Start

bash
scripts/validate_skill.py /path/to/skill-directory

With severity filter:

bash
scripts/validate_skill.py /path/to/skill --min-severity warning

Validation Categories

CategoryRulesChecks
FrontmatterFM001-FM018Required fields, naming, description, context/agent, maxTurns, memory, disable-model-invocation
StructureSS001-SS006Line limits, progressive disclosure
ContentCW001-CW009Writing style, terminology, string substitution, dynamic context injection, ultrathink
FilesFO001-FO007Naming conventions, forbidden files
ReferencesRI001-RI003Broken links, orphan files
SecuritySC001-SC005eval/exec, undocumented constants
HooksHK001-HK003Hook structure, handler format, matcher format
MCPMC001MCP server configuration format

Severity Levels

LevelAction
CRITICALMust fix before publishing
ERRORShould fix
WARNINGConsider fixing
SUGGESTIONOptional improvement

Output Example

code
=== Skill Validation Report: my-skill ===

Summary: 0 critical, 1 error, 2 warnings, 1 suggestion

[ERROR] SS002: SKILL.md exceeds 500 lines (523 lines)
  Location: SKILL.md
  Fix: Split content into WORKFLOW.md, EXAMPLES.md, TROUBLESHOOTING.md

[WARNING] CW001: Second-person language detected
  Location: SKILL.md:45
  Found: "You should create..."
  Fix: Use imperative: "Create..."

Command Options

bash
--min-severity {critical,error,warning,suggestion}  # Filter output
--format {text,json}                                # Output format
--ignore RULE1,RULE2                                # Skip specific rules

Common Issues

"False positive on second-person"

  • Context-appropriate "you" may be acceptable
  • Use --ignore CW001 to suppress

"Script security warning"

  • Add inline comment: # skill-validator: ignore SC001

"Hook/MCP validation incomplete"

  • Install PyYAML for full nested structure validation: pip install pyyaml

See TROUBLESHOOTING.md for complete issue handling.

References