Skill Health Check

SkillMedia

Validate skill quality against routing, progressive loading, and verification criteria. Use when: auditing skills, checking skill health, reviewing skill design. Not for: code review (use codex-code-review) or doc review (use doc-review). Output: health report with per-skill ratings + Gate.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Skill Health Check skill

What this skill tells your AI

The instructions your AI receives, as published by sd0xdev/sd0x-harness in skills/skill-health-check/SKILL.md and read by ahel’s review.

Trigger

  • Keywords: skill health, skill audit, skill lint, check skills, skill quality, validate skills

When NOT to Use

  • Code review (use /codex-review-fast)
  • Document review (use /codex-review-doc)
  • Creating new skills (use skill-creator plugin, external)
  • .claude directory structure check (use /claude-health)

Core Principle

Skills are on-demand context packages. Their value comes from routing precision (right skill triggers at right time) and context efficiency (minimum tokens for maximum capability). A poorly routed skill wastes context on every mismatch; a well-routed skill transforms a generalist into a specialist at exactly the right moment.

Workflow

Run automated lint → Review manual dimensions → Produce integrated report → Gate

Step 1: Automated Lint

node skills/skill-health-check/scripts/skill-lint.js --fix-hint

Script I/O contract:

ParameterDescription
--skills-dir <path>Skills directory (default: ./skills)
--agents-dir <path>Agents directory (default: ./agents)
--jsonOutput JSON instead of markdown
--fix-hintInclude fix suggestions
Exit 0All pass
Exit 1Warnings only (P2)
Exit 2Errors found (P0/P1)

Per-skill checks (11 items):

#CheckSeverityCriteria
1Frontmatter existsP0name + description required
2Routing signatureP1Description has at least 2 of 3 routing cues (Use/Avoid/Output); 0 cues = P1, 1 cue = P2
3When NOT sectionP1Body has "When NOT to Use" heading
4Output sectionP2Body defines expected deliverable
5Verification sectionP2Body has verification checklist
6References routingP2Each reference file mentioned in body
7Scripts contractP2Each script filename referenced in SKILL.md body
8Line countP2Warning >150, flag >250
9Agent entitlementP2Body describes Agent() dispatch but allowed-tools lacks Agent
10Task entitlementP2Body describes Task() dispatch but allowed-tools lacks Task
11Cross-skill ref pathP1Bare ref paths not found locally but existing in another skill → must use @skills/<parent>/ prefix

Cross-skill checks (3 items):

#CheckSeverityCriteria
12Description overlapP2Jaccard similarity >60% flagged
13Agent ref validityP1subagent_type references in skills must exist in agents/
14Agent tools syntaxP2Agent .md tools field uses canonical format (ToolName or Bash(<prefix>:*))

Step 2: Manual Review (when comprehensive audit requested)

Read flagged skills and evaluate:

DimensionQuestionRating
Why > WhatDoes skill explain underlying principles, not just steps?⭐1-5
Scope fitnessIs the skill focused? Could it be split?⭐1-5
Progressive loadingIs heavy content in references/, not inline?⭐1-5
Routing precisionWould a user's request unambiguously trigger this skill?⭐1-5

Only run Step 2 when user explicitly requests deep audit. Default: Step 1 only.

Output

# Skill Health Check Report

## Summary

| Metric | Value |
|--------|-------|
| Skills scanned | N |
| Checks passed | N |
| P0 (Must Fix) | N |
| P1 (Should Fix) | N |
| P2 (Suggestion) | N |

## Per-Skill Results

| Skill | Routing | When-NOT | Output | Verification | Refs | AgEnt | TskEnt | Lines | Status |
|-------|---------|----------|--------|--------------|------|-------|--------|-------|--------|
| name  | ✅/🟡/⚪ | ...    | ...    | ...          | ...  | ✅/⚪ | ✅/⚪  | N     | ✅/🟡/⚪/🔴 |

## P0 (Must Fix)
- **skill-name**: Issue → Fix recommendation

## P1 (Should Fix)
- **skill-name**: Issue → Fix recommendation

## P2 (Suggestion)
- **skill-name**: Issue → Fix recommendation

## Gate: ✅ All Pass / ⛔ N issues need fixing

Verification

  • Automated lint executed (exit code checked)
  • All P0/P1 findings have fix recommendations
  • Per-skill table includes all scanned skills
  • Gate sentinel present for hook parsing

References

  • references/routing-signature-guide.md — How to write effective routing signatures (read when fixing P1 routing issues)

Examples

Input: /skill-health-check
Action: Run skill-lint.js → Output markdown report + Gate

Input: /skill-health-check --deep
Action: Run skill-lint.js → Manual review of flagged skills → Integrated report

Input: Are my skills well-designed?
Action: Trigger health check → Report + improvement suggestions

Signals

GitHub stars
188
Forks
24
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
skill-health-check
Source
github.com/sd0xdev/sd0x-harness