Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Validate and score Claude Code skill packages for quality, completeness, and best-practice compliance. Tests Python scripts, checks YAML frontmatter, and generates reports. Use when creating, validating, or auditing skill packages.
.claude/skills/borghei-skill-tester/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 984% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 202% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 548% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 48% | 0% |
Validate skill packages for structure compliance, test Python scripts for syntax and stdlib-only imports, and score quality across four dimensions (documentation, code quality, completeness, usability) with letter grades and improvement recommendations. Supports BASIC, STANDARD, and POWERFUL tier classification.
__main__-guard detection, runtime --help and sample-data execution.--json for CI/CD gating with meaningful exit codes.Before validating, confirm these inputs. If any is unknown or vague, ASK — do not assume:
--tier; sets the required sections, script count, and structural thresholds)--minimum-score, exit codes)Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
bash# Validate skill structure and documentation python skill_validator.py engineering/my-skill --tier POWERFUL --json # Test all Python scripts in a skill python script_tester.py engineering/my-skill --timeout 30 # Score quality with improvement roadmap python quality_scorer.py engineering/my-skill --detailed --minimum-score 75
| Tool | Purpose | Command | |------|---------|---------| | skill_validator.py | Validate structure, frontmatter, required sections, and scripts against tier rules | python scripts/skill_validator.py engineering/my-skill --tier POWERFUL --json | | script_tester.py | Static + runtime tests of scripts (syntax, imports, argparse, --help, samples) | python scripts/script_tester.py engineering/my-skill --timeout 60 --json | | quality_scorer.py | Score four quality dimensions with letter grade and improvement roadmap | python scripts/quality_scorer.py engineering/my-skill --detailed --minimum-score 75 --json |
See references/tool-reference.md for full parameter tables, output formats, and exit codes.
Load the reference that matches the task — keep this file lean and pull detail on demand:
Covers:
Does NOT cover:
engineering/performance-profiler for runtime analysisengineering/skill-security-auditor for dependency and code security audits| Skill | Integration | Data Flow | |-------|-------------|-----------| | engineering/skill-security-auditor | Run security audit after validation passes | skill_validator.py confirms structure compliance, then skill-security-auditor scans for vulnerabilities in the same skill path | | engineering/ci-cd-pipeline-builder | Embed skill-tester as a quality gate stage | Pipeline builder generates workflow YAML that invokes skill_validator.py, script_tester.py, and quality_scorer.py sequentially | | engineering/changelog-generator | Feed quality score deltas into changelog entries | Compare quality_scorer.py JSON output between releases to surface quality improvements or regressions | | engineering/pr-review-expert | Attach validation report to pull request reviews | skill_validator.py --json output is posted as a PR comment for reviewer context | | engineering/performance-profiler | Complement structural testing with runtime profiling | After script_tester.py confirms execution succeeds, performance-profiler measures execution time and resource usage | | engineering/tech-debt-tracker | Track quality score trends over time | Periodic quality_scorer.py --json output is ingested to detect score degradation and flag technical debt |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→pass | 11,623 | 4,385 | -62% | 1 | 1 | 0% | 1,637 | 2,279 | +39% | 0 | 0 | — |
case-01 | fail→pass | 4,375 | 8,470 | +94% | 1 | 1 | 0% | 292 | 3,166 | +984% | 0 | 0 | — |
case-02 | fail→fail | 4,845 | 11,699 | +141% | 1 | 1 | 0% | 177 | 4,098 | +2215% | 0 | 0 | — |
case-03 | fail→fail | 20,719 | 17,859 | -14% | 1 | 1 | 0% | 3,729 | 4,831 | +30% | 0 | 0 | — |
case-04 | fail→pass | 6,640 | 9,225 | +39% | 1 | 1 | 0% | 1,144 | 3,455 | +202% | 0 | 0 | — |
case-05 | fail→pass | 5,674 | 6,008 | +6% | 1 | 1 | 0% | 387 | 2,509 | +548% | 0 | 0 | — |
case-06 | fail→fail | 13,558 | 10,003 | -26% | 1 | 1 | 0% | 2,077 | 2,307 | +11% | 0 | 0 | — |
case-07 | fail→pass | 24,069 | 3,453 | -86% | 1 | 1 | 0% | 1,419 | 2,094 | +48% | 0 | 0 | — |
case-08 | fail→pass | 5,767 | 2,417 | -58% | 1 | 1 | 0% | 957 | 1,903 | +99% | 0 | 0 | — |
case-09 | fail→pass | 11,668 | 3,115 | -73% | 1 | 1 | 0% | 1,901 | 1,956 | +3% | 0 | 0 | — |
case-11 | fail→pass | 7,225 | 3,423 | -53% | 1 | 1 | 0% | 1,280 | 1,963 | +53% | 0 | 0 | — |
case-12 | fail→pass | 7,695 | 3,371 | -56% | 1 | 1 | 0% | 1,481 | 2,061 | +39% | 0 | 0 | — |
case-13 | pass→pass | 8,550 | 13,692 | +60% | 1 | 1 | 0% | 1,289 | 3,740 | +190% | 0 | 0 | — |
case-14 | pass→pass | 6,970 | 3,000 | -57% | 1 | 1 | 0% | 1,099 | 1,954 | +78% | 0 | 0 | — |
case-15 | pass→pass | 4,809 | 2,991 | -38% | 1 | 1 | 0% | 652 | 1,897 | +191% | 0 | 0 | — |
case-16 | pass→pass | 4,482 | 1,961 | -56% | 1 | 1 | 0% | 714 | 1,785 | +150% | 0 | 0 | — |
case-17 | fail→pass | 3,151 | 3,120 | -1% | 1 | 1 | 0% | 400 | 2,005 | +401% | 0 | 0 | — |
case-18 | fail→pass | 8,323 | 2,283 | -73% | 1 | 1 | 0% | 1,339 | 1,753 | +31% | 0 | 0 | — |
case-19 | fail→pass | 10,286 | 2,613 | -75% | 1 | 1 | 0% | 2,059 | 1,784 | -13% | 0 | 0 | — |
case-20 | fail→pass | 10,415 | 3,622 | -65% | 1 | 1 | 0% | 1,548 | 1,988 | +28% | 0 | 0 | — |
case-21 | fail→pass | 7,409 | 6,156 | -17% | 1 | 1 | 0% | 1,130 | 2,485 | +120% | 0 | 0 | — |
case-22 | fail→pass | 15,810 | 10,591 | -33% | 1 | 1 | 0% | 2,591 | 3,420 | +32% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +68 percentage points is the difference between those two pass rates over the 20 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.