mcpField
S
skill-tester

skill-tester

github.com/alirezarezvani测试与质量28.9k614 次安装2 天前更新
代码仓库

关于 skill-tester

用于验证、测试和评分技能的仓库元技能。其 Python 工具检查结构、脚本、质量与安全状况,并提供 JSON 输出,可用于 CI 或提交门禁。

主要功能

  1. 01技能结构验证
  2. 02Python 脚本测试
  3. 03质量评分与等级评定
  4. 04安全状况评分
  5. 05供自动化使用的 JSON 输出

适用场景

  1. 01提交前检查技能
  2. 02在 CI 中拦截未通过的技能变更
  3. 03对照示例输出测试脚本
  4. 04依据评分报告安排改进

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill skill-tester

安装后在 Claude Code 中输入/skill-tester确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
assets/sample-skill/
README.md
assets/sample-skill/assets/
sample_text.txt
test_data.csv
assets/sample-skill/expected_outputs/
sample_text_analysis.json
assets/sample-skill/references/
api-reference.md
assets/sample-skill/scripts/
text_processor.py
expected_outputs/
sample_validation_report.json
references/
quality-scoring-rubric.md
skill-structure-specification.md
tier-requirements-matrix.md
scripts/
quality_scorer.py
script_tester.py
security_scorer.py
skill_validator.py
tests/
test_security_scorer.py

详细介绍

Skill Tester

Tier: POWERFUL · Category: Engineering Quality Assurance · Dependencies: None (Python stdlib only)

用于验证、测试和评分本仓库中技能的元技能。包含四个工具,需在仓库根目录下使用完整路径运行:

  1. scripts/skill_validator.py — 结构与文档合规性检查
  2. scripts/script_tester.py — Python 脚本的语法、导入、运行时与输出测试
  3. scripts/quality_scorer.py — 多维度评分,附带字母等级
  4. scripts/security_scorer.py — 安全态势评分(也可通过 quality_scorer.py --include-security 调用)

**范围说明:**本技能的各等级行数下限衡量的是旧版技能。对于编写新技能,engineering/write-a-skill(SKILL.md 约 100 行以内,遵循 Matt Pocock 的准则)才是具有约束力的标准——请勿为满足此处的等级下限而给新技能凑字数。

快速开始(精确命令,可在仓库根目录直接运行)

# 1. Validate structure (exit non-zero on failure — usable as a gate)
python3 engineering/skills/skill-tester/scripts/skill_validator.py engineering/skills/self-eval --json

# 2. Test the skill's Python scripts (30s default timeout per script)
python3 engineering/skills/skill-tester/scripts/script_tester.py engineering/skills/self-eval --json

# 3. Score quality (fail CI below threshold with --minimum-score)
python3 engineering/skills/skill-tester/scripts/quality_scorer.py engineering/skills/self-eval --json --detailed --minimum-score 75

解析 JSON 输出:验证器会输出 overall_score、compliance_level 以及每项检查的 checks{};评分器会输出 overall_score、letter_grade、tier_recommendation、dimensions 以及 improvement_roadmap——请自上而下处理改进路线图,然后重新运行,直到达到目标分数。

若需对整个仓库进行审计,建议使用仓库根目录下的 scripts/audit_skills.py(它会对所有技能封装 write-a-skill 检查清单运行器)。

各工具检查内容

skill_validator.py
  • SKILL.md 前置元数据解析、必需章节、各等级的最小行数(--tier BASIC|STANDARD|POWERFUL)
  • 必需结构:SKILL.md、README.md、scripts/、references/、assets/、expected_outputs/
  • Python 脚本:是否使用 argparse、是否仅导入标准库
script_tester.py
  • 基于 AST 的语法验证;导入分析(标记外部依赖)
  • 带超时保护的受控执行(--timeout,默认 30 秒)
  • --help 功能验证;示例数据运行结果与 expected_outputs/ 进行比对
quality_scorer.py

四个维度,各占 25%:文档(深度、示例、参考资料)、代码质量(复杂度、错误处理、输出一致性)、完整性(必需目录、示例数据、预期输出)、可用性(帮助文本、示例清晰度)。输出 0-100 分、A-F 等级以及等级推荐。

等级分类

TierSKILL.mdScriptsCLI surface
BASIC≥ 100 lines1 (100-300 LOC)basic argparse
STANDARD≥ 200 lines1-2 (300-500 LOC)subcommands, JSON + text output
POWERFUL≥ 300 lines2-3 (500-800 LOC)multiple modes, CI integration

(对旧版技能仅供参考;新技能遵循 write-a-skill——见上方范围说明。)

CI 集成

# GitHub Actions: gate changed skills
- name: "validate-changed-skills"
  run: |
    for skill in $changed_skills; do
      python3 engineering/skills/skill-tester/scripts/skill_validator.py "$skill" --json
      python3 engineering/skills/skill-tester/scripts/script_tester.py "$skill"
      python3 engineering/skills/skill-tester/scripts/quality_scorer.py "$skill" --minimum-score 75
    done

预提交钩子:对暂存的技能目录运行验证器,若退出码非零则阻止提交。

验证循环

在仓库根目录下一次运行中同时满足以下条件,则视为技能"通过":

  1. skill_validator.py <skill> --json 退出码为 0,
  2. script_tester.py <skill> 报告所有脚本通过,且
  3. quality_scorer.py <skill> --minimum-score <target> 退出码为 0。

若任一步骤失败,应用 improvement_roadmap 中排名最靠前的条目,然后重新运行全部三项——切勿报告部分通过。

故障排查

  • 超时错误 → 提高 --timeout 或优化被测脚本
  • 导入失败 → 检测到外部依赖;仓库政策要求仅使用标准库
  • 等级分类错误 → 对照等级表检查行数/LOC;记住新技能适用 write-a-skill 的例外规定

参考资料:references/ 目录包含工具所实现的结构规范、等级要求矩阵以及评分标准。

评论

支持 Markdown