关于 skill-tester
用于验证、测试和评分技能的仓库元技能。其 Python 工具检查结构、脚本、质量与安全状况,并提供 JSON 输出,可用于 CI 或提交门禁。
主要功能
- 01技能结构验证
- 02Python 脚本测试
- 03质量评分与等级评定
- 04安全状况评分
- 05供自动化使用的 JSON 输出
适用场景
- 01提交前检查技能
- 02在 CI 中拦截未通过的技能变更
- 03对照示例输出测试脚本
- 04依据评分报告安排改进
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill skill-tester安装后在 Claude Code 中输入/skill-tester确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdassets/sample-skill/README.mdassets/sample-skill/assets/sample_text.txttest_data.csvassets/sample-skill/expected_outputs/sample_text_analysis.jsonassets/sample-skill/references/api-reference.mdassets/sample-skill/scripts/text_processor.pyexpected_outputs/sample_validation_report.jsonreferences/quality-scoring-rubric.mdskill-structure-specification.mdtier-requirements-matrix.mdscripts/quality_scorer.pyscript_tester.pysecurity_scorer.pyskill_validator.pytests/test_security_scorer.py详细介绍
Skill Tester
Tier: POWERFUL · Category: Engineering Quality Assurance · Dependencies: None (Python stdlib only)
用于验证、测试和评分本仓库中技能的元技能。包含四个工具,需在仓库根目录下使用完整路径运行:
scripts/skill_validator.py— 结构与文档合规性检查scripts/script_tester.py— Python 脚本的语法、导入、运行时与输出测试scripts/quality_scorer.py— 多维度评分,附带字母等级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 等级以及等级推荐。
等级分类
| Tier | SKILL.md | Scripts | CLI surface |
|---|---|---|---|
| BASIC | ≥ 100 lines | 1 (100-300 LOC) | basic argparse |
| STANDARD | ≥ 200 lines | 1-2 (300-500 LOC) | subcommands, JSON + text output |
| POWERFUL | ≥ 300 lines | 2-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
预提交钩子:对暂存的技能目录运行验证器,若退出码非零则阻止提交。
验证循环
在仓库根目录下一次运行中同时满足以下条件,则视为技能"通过":
skill_validator.py <skill> --json退出码为 0,script_tester.py <skill>报告所有脚本通过,且quality_scorer.py <skill> --minimum-score <target>退出码为 0。
若任一步骤失败,应用 improvement_roadmap 中排名最靠前的条目,然后重新运行全部三项——切勿报告部分通过。
故障排查
- 超时错误 → 提高
--timeout或优化被测脚本 - 导入失败 → 检测到外部依赖;仓库政策要求仅使用标准库
- 等级分类错误 → 对照等级表检查行数/LOC;记住新技能适用 write-a-skill 的例外规定
参考资料:references/ 目录包含工具所实现的结构规范、等级要求矩阵以及评分标准。