skillswitch 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -31
- package/dist/cli.js +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
#
|
|
1
|
+
# skillswitch
|
|
2
2
|
|
|
3
3
|
Manage Claude Code skills — profiles, disable/enable, and catalog generation.
|
|
4
4
|
|
|
5
5
|
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.
|
|
6
6
|
|
|
7
|
-
`
|
|
7
|
+
`skillswitch` fixes this.
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
npm install -g
|
|
12
|
+
npm install -g skillswitch
|
|
13
13
|
# or run without installing:
|
|
14
|
-
npx
|
|
14
|
+
npx skillswitch <command>
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
## Commands
|
|
18
18
|
|
|
19
19
|
```
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
20
|
+
skillswitch status # how many skills are active vs disabled
|
|
21
|
+
skillswitch list # all skills by source
|
|
22
|
+
skillswitch list --disabled # only disabled skills
|
|
23
|
+
skillswitch search <query> # find skills by name or description
|
|
24
|
+
|
|
25
|
+
skillswitch disable <name> # disable standalone skill (substring match)
|
|
26
|
+
skillswitch disable --plugin <id> # disable entire plugin (e.g. aso-skills@aso-skills)
|
|
27
|
+
skillswitch enable <name> # re-enable standalone skill
|
|
28
|
+
skillswitch enable --plugin <id> # re-enable entire plugin
|
|
29
|
+
|
|
30
|
+
skillswitch profile create <name> # snapshot current enabled set
|
|
31
|
+
skillswitch profile use <name> # activate a profile
|
|
32
|
+
skillswitch profile use <name> --dry-run # preview what would change
|
|
33
|
+
skillswitch profile list # list saved profiles
|
|
34
|
+
skillswitch profile show <name> # see what's in a profile
|
|
35
|
+
skillswitch profile delete <name> # remove a profile
|
|
36
|
+
|
|
37
|
+
skillswitch catalog # generate ~/.claude/SKILLS.md
|
|
38
|
+
skillswitch audit # find duplicates and stale disabled skills
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
## Typical workflow
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
# Start with everything enabled (your current state)
|
|
45
|
-
|
|
45
|
+
skillswitch profile create full # save the 450-skill state
|
|
46
46
|
|
|
47
47
|
# Trim down for dev work
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
skillswitch disable --plugin aso-skills@aso-skills
|
|
49
|
+
skillswitch disable --plugin claude-ads@agricidaniel-claude-ads
|
|
50
|
+
skillswitch disable ads # disables all skills with "ads" in the name
|
|
51
|
+
skillswitch profile create dev # save the lean set
|
|
52
52
|
|
|
53
53
|
# Switch contexts
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
skillswitch profile use dev # 48 skills active
|
|
55
|
+
skillswitch profile use full # back to 450
|
|
56
56
|
|
|
57
57
|
# Discover what you have
|
|
58
|
-
|
|
58
|
+
skillswitch catalog # generates ~/.claude/SKILLS.md
|
|
59
59
|
# Then in Claude: @~/.claude/SKILLS.md
|
|
60
60
|
```
|
|
61
61
|
|
package/dist/cli.js
CHANGED
|
@@ -296,7 +296,7 @@ function generateCatalog(claudeDir = defaultClaudeDir5) {
|
|
|
296
296
|
|
|
297
297
|
// src/cli.ts
|
|
298
298
|
var program = new Command();
|
|
299
|
-
program.name("
|
|
299
|
+
program.name("skillswitch").description("Manage Claude Code skills").version("0.1.0");
|
|
300
300
|
function confirm(prompt) {
|
|
301
301
|
return new Promise((resolve) => {
|
|
302
302
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
@@ -354,7 +354,7 @@ program.command("disable <name>").description("Disable a skill (substring match)
|
|
|
354
354
|
console.log(`[dry-run] Would block plugin: ${name}`);
|
|
355
355
|
return;
|
|
356
356
|
}
|
|
357
|
-
await blockPlugin(name, "
|
|
357
|
+
await blockPlugin(name, "skillswitch: manually disabled");
|
|
358
358
|
console.log(`Plugin blocked: ${name}`);
|
|
359
359
|
return;
|
|
360
360
|
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillswitch",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Manage Claude Code skills — profiles, disable/enable, catalog generation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"
|
|
7
|
+
"skillswitch": "./dist/cli.js"
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
10
|
"dist",
|