feat(kvb-skill-cleanup): delete installed skills that renames and removals left behind

legacy.py reads the skills repository's git history (renames and deletions of skills/*/SKILL.md), follows rename chains to the current skill, and classifies every installed skill directory as current (shipped or locked), project (tracked in the repository that holds the root), legacy (with its successor), removed, or unknown. kvb-skill-cleanup scans ~/.claude/skills, ~/.agents/skills, ~/.codex/skills and the projects' .claude and .agents skills, asks the operator, and deletes by re-running the installer, by rm -r where the sandbox allows, or through kvb-org-operator; a rescan verifies. tests/test_skill_cleanup.py covers a two-step rename chain, a deletion, a locked, a project and an unknown skill, and invalid input; a broken one-step resolver fails it. Operator order 2026-11-03; four descriptions trimmed for the listing budget.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kevin Veen-BirkenbachandClaude Opus 5.5 committed 2026-11-03 13:57:14 +01:00
1 parent de8823e239
commit c47393a73b
8 files changed
+306 -15

No files matched your search

+4
View File
@@ -71,6 +71,7 @@ flowchart LR
skill --> skill_essence[kvb-skill-essence]
skill --> skill_transcend[kvb-skill-transcend]
skill --> skill_compile[kvb-skill-compile]
skill --> skill_cleanup[kvb-skill-cleanup]
none --> cleanup[kvb-cleanup]
none --> help[kvb-help]
none --> transcend_all[kvb-transcend]
@@ -149,6 +150,7 @@ flowchart LR
essence[kvb-skill-essence]
skill_transcend[kvb-skill-transcend]
compile[kvb-skill-compile]
skill_cleanup[kvb-skill-cleanup]
end
subgraph cat_none [no category]
cleanup[kvb-cleanup]
@@ -242,6 +244,8 @@ flowchart LR
skill_transcend -. deterministic moves .-> compile
essence -. procedures .-> compile
compile --> active_listening
skill_cleanup --> operator
skill_cleanup -. unknown skills .-> transcend
tune -. measurements .-> code_transcend
test --> triage