Audit and improve skill collections with an 8-dimension scoring framework, duplication detection, remediation planning, and CI quality gates; use when evaluating skill quality, generating remediation plans, validating report format, or enforcing repository-wide skill artifact conventions.
Does it follow best practices?
Evaluation — 93%
↑ 1.33xAgent success when using this tile
Validation for skill structure
Methodology for detecting content duplication across skills. Identifies aggregation candidates through similarity analysis.
Purpose: Find skills with >20% content overlap for consolidation
Output: Duplication report with similarity percentages and recommendations
Threshold: >20% similarity = aggregation candidate, >35% = critical
Compare line-by-line content across all skill files:
# For each pair of skills
for skill1 in skills/*/SKILL.md; do
for skill2 in skills/*/SKILL.md; do
# Skip same file
[[ "$skill1" == "$skill2" ]] && continue
# Count common lines
common=$(comm -12 <(sort "$skill1") <(sort "$skill2") | wc -l)
# Calculate similarity
total1=$(wc -l < "$skill1")
total2=$(wc -l < "$skill2")
avg=$(( (total1 + total2) / 2 ))
similarity=$(( common * 100 / avg ))
# Report if above threshold
if [ "$similarity" -gt 20 ]; then
echo "$skill1 <-> $skill2: ${similarity}%"
fi
done
doneCompare file structure and organization:
Identify shared concepts:
| Similarity | Classification | Action |
|---|---|---|
| 0-10% | Unrelated | Keep separate |
| 10-20% | Marginal | Review for content |
| 20-35% | Candidate | Plan aggregation |
| 35-50% | High | Prioritize aggregation |
| >50% | Critical | Immediate consolidation |
# List all active skills
find skills -name "SKILL.md" -not -path "*/.deprecated/*" | sortCompare every skill against every other skill:
Identify skill families by naming:
bdd-* → BDD family
typescript-* → TypeScript family
bun-* → Bun familySkills in same family with >20% overlap = strong aggregation candidates.
Create markdown report with:
# Duplication Report - YYYY-MM-DD
## Summary
- Skills analyzed: X
- Pairs with >20% similarity: Y
- Critical (>35%): Z
## High-Priority Candidates
### bdd-testing-family
| Skill Pair | Similarity | Common Lines | Action |
|------------|------------|--------------|--------|
| bdd-gherkin ↔ cucumber-best-practices | 42% | 287 | Aggregate |
| bdd-patterns ↔ bdd-scenarios | 28% | 156 | Consider |
## Recommendations
1. **Immediate**: Consolidate bdd-* family (6 skills, 35% avg duplication)
2. **High**: Review typescript-* family (4 skills, 22% avg duplication)Not all similarity indicates duplication:
Expected Similarity (Not Duplication):
True Duplication (Needs Consolidation):
./scripts/detect-duplication.shRun weekly via CI/CD:
schedule:
- cron: '0 0 * * 0' # Weekly on Sunday| Metric | Target | Current |
|---|---|---|
| Average duplication | <5% | TBD |
| Max pair similarity | <20% | TBD |
| Aggregation candidates | <5 | TBD |
| Critical (>35%) | 0 | TBD |
duplication-remediation.md - How to fix duplicationaggregation-pattern.md - Navigation Hub patternaggregation-implementation.md - Step-by-step consolidationInstall with Tessl CLI
npx tessl i pantheon-ai/skill-quality-auditorevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
references
scripts