Skill
Parks the Claude Code skills you're not using and fetches them the moment you need them — mid-session, per prompt, no restart. ~21ms UserPromptSubmit hook, fail-open, opt-in config.
npx -y skills add SDeenAdmin/skill-valet --skill skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when the session feels bloated or slow, the user mentions "too many skills", "context bloat", "skill list is huge", asks why a skill disappeared or isn't available, or wants to manually park/unpark skill groups mid-session. skill-valet automatically moves unused user-skill directories out of ~/.claude/skills so the per-turn skill list stays lean, and brings them back the moment a prompt needs them.
SKILL.md
2.5 KB, 551 tokens by cl100k_base, as published. Nobody here has run it
skill-valet
skill-valet is a UserPromptSubmit hook that keeps the per-turn skill list
lean. It keyword-classifies each prompt into skill groups (defined in
~/.claude/skill-valet.json), moves a group's skill directories back into
~/.claude/skills/ when the prompt needs them, and parks groups that have
been idle for park_after turns (default 20) into ~/.claude/skills-off/.
When invoked, do this
- Run
python3 <path-to>/skill_valet.py statusto show the user which groups are ON / PARKED / PARTIAL, the turn counter, and idle times. - If the user asks why a skill is missing: check whether it belongs to a
parked group (status output) or sits in
~/.claude/skills-off/. - Manual overrides on request:
on <group>/off <group>— force a group in or out nowall-on— restore every managed skillpause/resume— kill switch: while paused the hook does nothing
- To change what is managed: edit
~/.claude/skill-valet.json— move a skill name betweenalways_on(never touched) and a group'sskillslist, or tune the group'skeywords.
Honest boundaries — state these when relevant
- Next-turn effect, not same-turn. A skill un-parked by this prompt
appears in the skill list from the NEXT turn onward. If the user needs a
parked skill right now, run
on <group>and ask them to re-send the request. - User skills only. Plugins, plugin skills, and MCP servers are bound to session start — skill-valet cannot switch those mid-session; a restart (or profile switcher) is required.
- Hooks are NEVER touched — by design. Hooks are the user's deterministic safety layer; skill-valet has no code path that reads or modifies them.
- Multi-session caveat. Directory moves are global: parking a group affects every concurrently running Claude Code session on this machine.
- Fail-open. If the hook errors it silently does nothing (exit 0) — it
will never block a prompt. If behavior seems off, check
~/.claude/skill-valet-state.jsonand the config for JSON validity.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.