skillswitch
v0.2.0
Published
Manage AI CLI skills across Claude Code, Gemini CLI, Codex CLI, Aider, Amp, and Factory Droid — profiles, disable/enable, catalog generation
Maintainers
Readme
skillswitch
Manage AI CLI skills across Claude Code, Gemini CLI, Codex CLI, Aider, Amp, and Factory Droid — profiles, disable/enable, catalog generation.
Running 100+ Claude Code skills? Your context window is leaking. Claude Code injects every installed skill name into every session. With 450 skills, that's thousands of tokens burned before your first message.
skillswitch fixes this — and works across every major AI CLI.
Install
npm install -g skillswitch
# or run without installing:
npx skillswitch <command>Supported CLIs
| CLI | Flag | Skill location |
|---|---|---|
| Claude Code | --for claude (default) | ~/.claude/skills/ + plugins |
| Gemini CLI | --for gemini | ~/.gemini/skills/ + ~/.agents/skills/ |
| Codex CLI | --for codex | ~/.agents/skills/ |
| Aider | --for aider | ~/.aider/skills/ (managed externally) |
| Amp (Sourcegraph) | --for amp | ~/.config/amp/skills/ + ~/.agents/skills/ |
| Factory Droid | --for droid | ~/.factory/droids/ + ~/.factory/commands/ |
Commands
skillswitch detect # show which CLIs are installed
# Claude Code (default)
skillswitch status # how many skills are active vs disabled
skillswitch list # all skills by source
skillswitch list --disabled # only disabled skills
skillswitch search <query> # find skills by name or description
skillswitch disable <name> # disable standalone skill (substring match)
skillswitch disable --plugin <id> # disable entire plugin
skillswitch enable <name> # re-enable standalone skill
skillswitch enable --plugin <id> # re-enable entire plugin
skillswitch profile create <name> # snapshot current enabled set
skillswitch profile use <name> # activate a profile
skillswitch profile use <name> --dry-run # preview what would change
skillswitch profile list # list saved profiles
skillswitch profile show <name> # see what's in a profile
skillswitch profile delete <name> # remove a profile
skillswitch profile rename <old> <new> # rename a profile
skillswitch profile copy <src> <dst> # duplicate a profile
skillswitch profile diff <name> # what changes on activate
skillswitch profile export <name> # export profile to JSON
skillswitch profile import <file> # import profile from JSON
skillswitch profile validate <name> # detect ghost skills
skillswitch catalog # generate ~/.claude/SKILLS.md
skillswitch audit # find duplicates and stale disabled skills
# Other CLIs — use --for <cli>
skillswitch --for gemini list
skillswitch --for codex disable tdd
skillswitch --for amp search coding
skillswitch --for droid status
skillswitch --for aider list
skillswitch aider-config # print the read: block for ~/.aider.conf.ymlTypical workflow
# See what's installed
skillswitch detect
# Start with everything enabled (your current state)
skillswitch profile create full # save the 450-skill state
# Trim down for dev work
skillswitch disable --plugin aso-skills@aso-skills
skillswitch disable ads # disables all skills with "ads" in the name
skillswitch profile create dev # save the lean set
# Switch contexts
skillswitch profile use dev # 48 skills active
skillswitch profile use full # back to 450
# Manage skills for other CLIs
skillswitch --for gemini list
skillswitch --for gemini disable research
skillswitch --for codex disable tdd
# Discover what you have
skillswitch catalog # generates ~/.claude/SKILLS.md
# Then in Claude: @~/.claude/SKILLS.mdHow it works
- Standalone skills (
~/.claude/skills/*.md): disabled by moving to.disabled/subdirectory — always reversible, nothing deleted - Plugin skills (
~/.claude/plugins/): disabled by writing to Claude Code's nativeblocklist.json - Other CLIs: skill files moved to
.disabled/subdirectory inside their skills directory - Profiles stored in
~/.claude/skillctl/profiles.json
No telemetry, no auth, no network — pure local filesystem tool.
License
MIT
