技能测试器
名称: skill-tester 等级: POWERFUL 类别: 工程质量保证 依赖: 无 (仅需 Python 标准库) 作者: Claude Skills 工程团队 版本: 1.0.0 最后更新: 2026-02-16
技能测试器是一个综合性的元技能 (meta-skill),旨在验证、测试并对 claude-skills 生态系统内的技能质量进行评分。这个强大的质量保证工具通过自动化验证、测试和评分机制,确保所有技能都符合 BASIC、STANDARD 和 POWERFUL 等级分类所需的严格标准。
作为技能质量的准入系统,该元技能提供三个核心能力:
该技能对于维护生态系统的一致性、启用自动化 CI/CD 集成以及支持手动和自动化质量保证工作流至关重要。它是 pre-commit 钩子、拉取请求 (PR) 验证以及维持 claude-skills 仓库高质量标准的持续集成过程的基础。
根据复杂性和功能自动对技能进行分类:
skill-tester 遵循模块化架构,每个组件服务于特定的验证目的:
所有验证均依据 references/ 目录中记录的明确标准进行:
旨在无缝集成到现有的开发工作流中:
# 主要验证工作流
validate_skill_structure() -> ValidationReport
check_skill_md_compliance() -> DocumentationReport
validate_python_scripts() -> ScriptReport
generate_compliance_score() -> float
关键验证检查包括:
# 核心测试函数
syntax_validation() -> SyntaxReport
import_validation() -> ImportReport
runtime_testing() -> RuntimeReport
output_format_validation() -> OutputReport
测试能力涵盖:
# 多维度评分
score_documentation() -> float # 权重 25%
score_code_quality() -> float # 权重 25%
score_completeness() -> float # 权重 25%
score_usability() -> float # 权重 25%
calculate_overall_grade() -> str # A-F 等级
评分维度包括:
# Pre-commit 钩子验证
python3 skill_validator.py path/to/skill --tier POWERFUL --json
# 全面的技能测试
python3 script_tester.py path/to/skill --timeout 30 --sample-data
# 质量评估和评分
python3 quality_scorer.py path/to/skill --detailed --recommendations
# GitHub Actions 工作流示例
- name: "validate-skill-quality"
run: |
python skill_validator.py engineering/${{ matrix.skill }} --json | tee validation.json
python script_tester.py engineering/${{ matrix.skill }} | tee testing.json
python quality_scorer.py engineering/${{ matrix.skill }} --json | tee scoring.json
# 验证仓库中的所有技能
find engineering/ -type d -maxdepth 1 | xargs -I {} python3 skill_validator.py {}
# 生成仓库质量报告
python3 quality_scorer.py engineering/ --batch --output-format json > repo_quality.json
所有工具均提供人类可读和机器可解析的输出:
=== SKILL VALIDATION REPORT ===
Skill: engineering/example-skill
Tier: STANDARD
Overall Score: 85/100 (B)
Structure Validation: ✓ PASS
├─ SKILL.md: ✓ EXISTS (247 lines)
├─ README.md: ✓ EXISTS
├─ scripts/: ✓ EXISTS (2 files)
└─ references/: ⚠ MISSING (recommended)
Documentation Quality: 22/25 (88%)
Code Quality: 20/25 (80%)
Completeness: 18/25 (72%)
Usability: 21/25 (84%)
Recommendations:
• Add references/ directory with documentation
• Improve error handling in main.py
• Include more comprehensive examples
{
"skill_path": "engineering/example-skill",
"timestamp": "2026-02-16T16:41:00Z",
"validation_results": {
"structure_compliance": {
"score": 0.95,
"checks": {
"skill_md_exists": true,
"readme_exists": true,
"scripts_directory": true,
"references_directory": false
}
},
"overall_score": 85,
"letter_grade": "B",
"tier_recommendation": "STANDARD",
"improvement_suggestions": [
"Add references/ directory",
"Improve error handling",
"Include comprehensive examples"
]
}
}
#!/bin/bash
# .git/hooks/pre-commit
echo "Running skill validation..."
python3 engineering/skill-tester/scripts/skill_validator.py engineering/new-skill --tier STANDARD
if [ $? -ne 0 ]; then
echo "Skill validation failed. Commit blocked."
exit 1
fi
echo "Validation passed. Proceeding with commit."