Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Evaluate Claude skill quality through auditing. Use when reviewing or auditing skills.
.claude/skills/athola-skills-eval/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 71% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -33% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 84% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -26% | 0% |
abstract:skill-authoring)abstract:hooks-eval)abstract:rules-eval)This framework audits Claude skills against quality standards to improve performance and reduce token consumption. Automated tools analyze skill structure, measure context usage, and identify specific technical improvements. Run verification commands after each audit to confirm fixes work correctly.
The skills-auditor provides structural analysis, while the improvement-suggester ranks fixes by impact. Compliance is verified through the compliance-checker. Runtime efficiency is monitored by tool-performance-analyzer and token-usage-tracker.
Run a full audit of all skills or target a specific file to identify structural issues.
bash# Audit all skills make audit-all # Audit specific skill make audit-skill TARGET=path/to/skill/SKILL.md
Use skill_analyzer.py for complexity checks and token_estimator.py to verify the context budget.
bashmake analyze-skill TARGET=path/to/skill/SKILL.md make estimate-tokens TARGET=path/to/skill/SKILL.md
Generate a prioritized plan and verify standards compliance using improvement_suggester.py and compliance_checker.py.
bashmake improve-skill TARGET=path/to/skill/SKILL.md make check-compliance TARGET=path/to/skill/SKILL.md
Start with make audit-all to inventory skills and identify high-priority targets. For each skill requiring attention, run analysis with analyze-skill to map complexity. Generate an improvement plan, apply fixes, and run check-compliance to verify the skill meets project standards. Finalize by checking the token budget for efficiency.
Quality assessments use the skills-auditor and improvement-suggester to generate detailed reports. Performance analysis focuses on token efficiency through the token-usage-tracker and tool performance via tool-performance-analyzer. For standards compliance, the compliance-checker automates common fixes for structural issues.
We evaluate skills across five dimensions: structure compliance, content quality, token efficiency, activation reliability, and tool integration. Scores above 90 represent production-ready skills, while scores below 50 indicate critical issues requiring immediate attention.
Improvements are prioritized by impact. Critical issues include security vulnerabilities or broken functionality. High-priority items cover structural flaws that hinder discoverability. Medium and low priorities focus on best practices and minor optimizations.
Deprecated: skills/shared/modules/ directories. Shared modules must be relocated into the consuming skill's own modules/ directory. The evaluator flags any remaining skills/shared/ as a structural warning.
Current: Each skill owns its modules at skills/<skill-name>/modules/. Cross-skill references use relative paths (e.g., ../skill-authoring/modules/anti-rationalization.md).
modules/trigger-isolation-analysis.mdmodules/authoring-checklist.mdmodules/evaluation-workflows.mdmodules/advanced-tool-use-analysis.mdmodules/evaluation-framework.mdmodules/integration.mdmodules/troubleshooting.mdmodules/pressure-testing.mdmodules/integration-testing.mdmodules/performance-benchmarking.mdscripts/ directory.scripts/automation/.content quality, token efficiency, activation reliability, tool integration) summing to 100.
skills/shared/ module reference is listed as a structuralwarning in the audit output.
make check-compliance TARGET=<skill> exits 0 for skills reported as passing, confirmingthe compliance-checker agrees with the audit score.
priority: critical > high > medium > low.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | pass→pass | 19,730 | 14,059 | -29% | 1 | 1 | 0% | 3,220 | 3,440 | +7% | 0 | 0 | — |
case-06 | pass→pass | 18,353 | 9,425 | -49% | 1 | 1 | 0% | 2,582 | 2,588 | +0% | 0 | 0 | — |
case-04 | pass→fail | 20,336 | 14,321 | -30% | 1 | 1 | 0% | 3,492 | 3,573 | +2% | 0 | 0 | — |
case-01 | fail→fail | 6,164 | 20,286 | +229% | 1 | 1 | 0% | 438 | 4,075 | +830% | 0 | 0 | — |
case-02 | fail→fail | 10,240 | 31,343 | +206% | 1 | 1 | 0% | 1,457 | 6,466 | +344% | 0 | 0 | — |
case-03 | fail→pass | 15,976 | 23,028 | +44% | 1 | 1 | 0% | 2,515 | 4,290 | +71% | 0 | 0 | — |
case-07 | fail→pass | 15,035 | 2,090 | -86% | 1 | 1 | 0% | 2,217 | 1,481 | -33% | 0 | 0 | — |
case-08 | fail→pass | 10,863 | 1,802 | -83% | 1 | 1 | 0% | 1,625 | 1,432 | -12% | 0 | 0 | — |
case-09 | fail→pass | 6,418 | 1,930 | -70% | 1 | 1 | 0% | 779 | 1,435 | +84% | 0 | 0 | — |
case-10 | fail→pass | 14,236 | 2,129 | -85% | 1 | 1 | 0% | 2,075 | 1,530 | -26% | 0 | 0 | — |
case-11 | pass→pass | 11,236 | 1,646 | -85% | 1 | 1 | 0% | 1,591 | 1,433 | -10% | 0 | 0 | — |
case-12 | fail→pass | 12,888 | 2,655 | -79% | 1 | 1 | 0% | 1,805 | 1,515 | -16% | 0 | 0 | — |
case-13 | fail→pass | 9,647 | 3,369 | -65% | 1 | 1 | 0% | 1,516 | 1,746 | +15% | 0 | 0 | — |
case-14 | fail→pass | 11,773 | 2,970 | -75% | 1 | 1 | 0% | 1,909 | 1,699 | -11% | 0 | 0 | — |
case-15 | fail→pass | 9,266 | 3,326 | -64% | 1 | 1 | 0% | 1,460 | 1,754 | +20% | 0 | 0 | — |
case-16 | fail→pass | 8,970 | 1,983 | -78% | 1 | 1 | 0% | 1,433 | 1,442 | +1% | 0 | 0 | — |
case-17 | pass→pass | 5,595 | 1,869 | -67% | 1 | 1 | 0% | 747 | 1,468 | +97% | 0 | 0 | — |
case-18 | fail→pass | 9,321 | 1,946 | -79% | 1 | 1 | 0% | 1,409 | 1,530 | +9% | 0 | 0 | — |
case-19 | fail→pass | 12,963 | 1,939 | -85% | 1 | 1 | 0% | 1,804 | 1,521 | -16% | 0 | 0 | — |
case-20 | fail→pass | 11,437 | 2,235 | -80% | 1 | 1 | 0% | 1,698 | 1,479 | -13% | 0 | 0 | — |
case-21 | fail→pass | 9,132 | 1,879 | -79% | 1 | 1 | 0% | 1,215 | 1,405 | +16% | 0 | 0 | — |
case-22 | fail→pass | 11,553 | 2,181 | -81% | 1 | 1 | 0% | 1,632 | 1,477 | -9% | 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 21 counted toward the lift figure. The other 1 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 +64 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
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.