From skill-tree
Survey the entire skill ecosystem on this machine — every registry, every installer's lock file, every cluster manifest — and produce a ranked list of findings with safe-action proposals. USE WHEN the user asks "audit my skills", "what's going on with my skill setup", "clean up my skill installs", or mentions confusion about where skills live.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skill-tree:auditThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are the audit diagnostician. The failure-mode *detection* is now deterministic code (`skill-tree doctor`); your job is to run it, merge it with the manifest and dead-inventory checks, present a ranked picture, and apply fixes safely with the user.
You are the audit diagnostician. The failure-mode detection is now deterministic code (skill-tree doctor); your job is to run it, merge it with the manifest and dead-inventory checks, present a ranked picture, and apply fixes safely with the user.
Before you start, read these two docs — they explain each signature and hold the per-installer fix commands:
${CLAUDE_PLUGIN_ROOT}/docs/registry-map.md — every place skills can live on a machine${CLAUDE_PLUGIN_ROOT}/docs/ecosystem-map.md — platforms, packagers, installers, frontmatter, and the numbered failure-mode signatures${CLAUDE_PLUGIN_ROOT}/bin/skill-tree doctor --json
This walks every registry and returns a JSON findings array. Each finding carries signature_id (matches the numbered signatures in ecosystem-map.md), severity (error/warning/info), observation, suggested_fix, confidence, and paths. Findings are pre-ranked (error → warning → info). The doctor covers the deterministic signatures:
installed_plugins.json)~/.claude/skills/* → missing target)~/.agents/skills not linked into ~/.claude/skills (info — scope vs missing fan-out)# Signature #3 — skill-tree's own cluster-manifest integrity (only if a manifest exists)
${CLAUDE_PLUGIN_ROOT}/bin/skill-tree check
# Signature #8 — dead inventory: installed but not invoked over the window
${CLAUDE_PLUGIN_ROOT}/bin/skill-tree archive --list --window-days 60
check validates the manifest graph; doctor validates the machine. They're complementary — run both. Signature #6 (disable-model-invocation orphan) is a manifest concept and is reported by check. Signature #9 (/reload-plugins only refreshes the plugin tier) is advisory, not a scannable state — mention it only if the user's symptom matches.
Merge the doctor findings with check / archive output, keep the doctor's ranking, and show the top 5–10. For each:
observation (already has concrete paths)signature_id so the user can read the full description in ecosystem-map.mdsuggested_fix, cross-checked against ecosystem-map.md § "Installers"Walk findings one at a time. Apply only on a clear yes; record applied actions to the audit log; skip cleanly when declined.
Finding: symlink rot on
ghost→~/.agents/skills/ghost(gone). Safe action:rm ~/.claude/skills/ghost. Apply? (y/n/skip)
#2 findings demand extra care — read which of the three they are. The doctor distinguishes: (a) stale manifest (high confidence) — installed_plugins.json references a version dir that's gone while another is present; the present dir is the live plugin, so the fix is "do NOT delete", refresh the record; (b) duplicate extraction (medium) — an unreferenced dir whose plugin.json version matches the installed one, safe to remove after confirming; (c) version skew (medium) — an unreferenced dir at a different version. For (b) and (c), run claude plugin details <plugin>@<marketplace> and confirm which version is live before removing anything. Never pipe doctor findings straight into rm -rf.
Report-only findings are valid. Dead inventory (#8) is often intentional reserves for infrequent workflows — surface it, explain, move on. Don't fabricate an action for the sake of having one.
ecosystem-map.md, name it in your output and recommend a PR to add it — and, if it's a deterministically-detectable signature, a PR to add a detector to scripts/doctor.py. The doc and the doctor only stay current that way.rm when unarchive exists).npx claudepluginhub danielbrodie/skill-tree --plugin skill-treeCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.