Claude Code injects the name and description of every installed skill into every session — before you type a word. Skillswitch disables the ones the current task doesn't need, and saves the sets as profiles you switch with one command.
npm install -g skillswitch~40 tokens per entry is an estimate — the exact cost depends on your descriptions. skillswitch status shows how many skills you actually have active. More skills means worse signal-to-noise and less room for your actual work.
Disable what you don't need, snapshot the result as a profile, switch profiles as the task changes.
skillswitch disable <name>
Turn off what the task doesn’t need. Substring match; --plugin disables whole plugins.
skillswitch profile create dev
Snapshot the current enabled set as a named profile.
skillswitch profile use dev
Switch sets with one command. --dry-run previews the change first.
what actually happens on disk
standalone skills — moved to a .disabled/ subdirectory — nothing deleted, enable moves them back
plugin skills — written to Claude Code's own plugins/blocklist.json
profiles — plain JSON in ~/.claude/skillctl/profiles.json — no telemetry, no network, no auth
Full command list — profiles, export/import, audit, per-CLI flags — in the README.