
Skill Tester
FreeValidate and score skills in the Claude ecosystem.
Free · Opens the source repo
What Skill Tester does
Skill Tester is a comprehensive tool designed to validate, test, and score the quality of skills within the Claude ecosystem. It consists of four main components that can be executed from the repository root, ensuring a streamlined process for skill development and maintenance. The tools included are the skill validator, script tester, quality scorer, and security scorer, each serving a specific purpose in the quality assurance lifecycle of skills.
The skill validator checks for structural compliance and documentation requirements, ensuring that each skill adheres to the necessary guidelines and standards. The script tester focuses on validating the syntax, imports, and runtime behavior of Python scripts, providing a controlled environment for testing with timeout protection. The quality scorer evaluates skills across multiple dimensions, including documentation, code quality, completeness, and usability, ultimately assigning a letter grade and tier recommendation based on the results.
This skill is particularly useful for developers and designers who are authoring new skills or auditing existing ones for potential tier promotion. By integrating the Skill Tester into a continuous integration (CI) pipeline, users can automate quality checks and enforce standards consistently across their projects. The output from each tool is designed to be consumed in JSON format, making it easy to integrate with other systems or workflows.
For those looking to maintain high standards in skill development, the Skill Tester provides a structured approach to quality assurance, helping to identify areas for improvement and ensuring that skills meet the expectations of users and the ecosystem as a whole.
When to use it
Use this tool when developing new skills or when you need to audit existing skills for quality assurance and tier classification.
When not to use it
This skill may not be necessary for simple projects that do not require strict adherence to quality standards or for skills that are not meant for public distribution.
What you can build with it
Auditing Existing Skills
Use the Skill Tester to evaluate existing skills for compliance and quality before promotion.
Integrating into CI
Automate skill validation and testing in your CI pipeline to maintain quality standards.
Developing New Skills
Utilize the Skill Tester during the development of new skills to ensure they meet the required standards.
How to install Skill Tester
View source1. Install with the skills CLI
npx skills add alirezarezvani/claude-skills/skill-tester --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by alirezarezvaniSkill Tester
Tier: POWERFUL · Category: Engineering Quality Assurance · Dependencies: None (Python stdlib only)
Meta-skill that validates, tests, and scores skills in this repository. Four tools, run from the repo root with full paths:
scripts/skill_validator.py— structure + documentation compliancescripts/script_tester.py— Python script syntax/imports/runtime/output testingscripts/quality_scorer.py— multi-dimensional scoring with letter gradescripts/security_scorer.py— security posture scoring (also available viaquality_scorer.py --include-security)
Scope note: this skill's tier line-count minimums measure legacy skills. For authoring new skills,
engineering/write-a-skill(SKILL.md under ~100 lines, Matt Pocock doctrine) is the binding standard — do not pad a new skill to satisfy a tier minimum here.
Quick Start (exact, runnable from repo root)
# 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
Consume the JSON: validator emits overall_score, compliance_level, per-check checks{}; scorer emits overall_score, letter_grade, tier_recommendation, dimensions, and an improvement_roadmap — work the roadmap top-down, then re-run until the target score is met.
For repo-wide auditing prefer scripts/audit_skills.py at the repo root (wraps the write-a-skill checklist runner across all skills).
What Each Tool Checks
skill_validator.py
- SKILL.md frontmatter parsing, required sections, minimum line counts per tier (
--tier BASIC|STANDARD|POWERFUL) - Required structure: SKILL.md, README.md, scripts/, references/, assets/, expected_outputs/
- Python scripts: argparse present, stdlib-only imports
script_tester.py
- AST-based syntax validation; import analysis (flags external dependencies)
- Controlled execution with timeout protection (
--timeout, default 30s) --helpfunctionality verification; sample-data runs compared against expected_outputs/
quality_scorer.py
Four dimensions, 25% each: Documentation (depth, examples, references), Code Quality (complexity, error handling, output consistency), Completeness (required dirs, sample data, expected outputs), Usability (help text, example clarity). Outputs 0-100 + A-F grade + tier recommendation.
Tier Classification
| 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 |
(Advisory for legacy skills; new skills follow write-a-skill — see scope note above.)
CI Integration
# 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
Pre-commit hook: run the validator on the staged skill directory and block the commit on non-zero exit.
Verification Loop
A skill "passes" when, in one run from repo root:
skill_validator.py <skill> --jsonexits 0,script_tester.py <skill>reports all scripts passing, andquality_scorer.py <skill> --minimum-score <target>exits 0.
If any step fails, apply the top improvement_roadmap item and re-run all three — never report a partial pass.
Troubleshooting
- Timeout errors → raise
--timeoutor optimize the script under test - Import failures → external deps detected; stdlib-only is the repo policy
- Tier misclassification → check line counts/LOC against the tier table; remember the write-a-skill exception for new skills
References: references/ holds the structure specification, tier requirements matrix, and scoring rubric the tools implement.
Frequently asked questions about Skill Tester
Similar skills
Quality Playbook Generator
Run comprehensive quality audits on any codebase.
PR Draft Summary
Automate PR summary generation for openai-agents-python.
Final Release Review
Streamline your release candidate audits with ease.
Unit Test Vue Pinia
Efficiently write and review unit tests for Vue 3 applications.
Slang Shader Expert
Optimize and integrate Slang shaders with ease.
Telemetry Standards
Ensure consistent event tracking in Supabase Studio.
