← ClaudeAtlas

skill-healthlisted

Scan the skill library for structural technical debt — dangling references where a SKILL.md names a script, bash file, agent, or sibling skill that does not exist on disk ("missing artifacts" debt), plus external skills whose directory is a symlink out of the skills root, where a local fix would be overwritten by the owning package manager. Use when the user says "scan skills for debt", "check for dangling/broken references in my skills", "skill health check", "do referenced scripts/agents still exist", "which skills are not really mine to edit", or "/skill-health". NOT for holistic skill quality verdicts (that is skill-stocktake), NOT for config GC over hooks/permissions/MCP (that is config-gc), and NOT for security scanning (that is the /claude-security plugin).
shimo4228/akc-cycle · ★ 1 · AI & Automation · score 80
Install: claude install-skill shimo4228/akc-cycle
# skill-health — Skill-Library Structural Debt Scan Detect **skill technical debt** — library-level defects that do not break a single skill in isolation but degrade the library over time (SkillOps, Pu/Song/ Zhao 2026, [arXiv:2605.13716](https://arxiv.org/abs/2605.13716)). This skill owns the one debt pattern no other harness skill checks: **missing artifacts** — a SKILL.md that references a `scripts/` module, a `bash` script, an agent, or a sibling skill that no longer exists on disk (it silently dangles after a rename or delete). This is a **structural** property — decidable from the literal text plus a filesystem `exists()` check — so it is owned by deterministic code at 100% accuracy (AKC ADR-0008 Code-LLM Layering). The semantic, risk, and validation dimensions are **delegated, never re-implemented here**. ### Three output categories — only one is a defect claim The scanner reports three lists, and conflating them is the mistake this section exists to prevent: - **Dangling references** (`dangling`, exit code 1) — the skill wrote a *path*, and that path does not exist. `exists()` is authoritative here. - **Unresolved names** (`unresolved_names`, exit code unaffected) — the skill named a skill/command *without a path* (`See skill: X`, `` `X` skill ``, `` `/X` ``) and no file matches under the skills root. **This is an enumeration handed to judgment, not a finding.** The name may still be a CLI builtin, a bundled skill, a plugin command, or a project-scoped s