skill-studio 0.0.0 → 0.1.0
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 +74 -2
- package/bin/skill-studio.js +49 -0
- package/package.json +27 -5
package/README.md
CHANGED
|
@@ -1,5 +1,77 @@
|
|
|
1
1
|
# skill-studio
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Tidy up your agent skills. `skill-studio` finds your skills across Claude Code, Codex, OpenCode, pi, Cursor, Grok Build and the shared `.agents` folder. It finds broken, duplicate and unused skills. You can undo most changes.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
It runs on macOS, on Apple silicon and Intel Macs. It needs Node.js 18 or later.
|
|
6
|
+
|
|
7
|
+
## Run it
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx skill-studio diagnose
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Or install it:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g skill-studio
|
|
17
|
+
skill-studio --help
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Some commands:
|
|
21
|
+
|
|
22
|
+
- `skill-studio scan` lists every skill installed for your agents.
|
|
23
|
+
- `skill-studio diagnose` finds broken skills and says what is wrong with each.
|
|
24
|
+
- `skill-studio usage` shows which skills your agents used, and which they never used.
|
|
25
|
+
- `skill-studio park <skill>` turns a skill off for all agents. `skill-studio unpark <skill>` turns it on again.
|
|
26
|
+
- `skill-studio undo` reverses your last install, remove, update, split or on/off change. It does not undo park or unpark. It skips them and reverses the change before them. To undo a park, run `skill-studio unpark <skill>`.
|
|
27
|
+
|
|
28
|
+
## Use it from your agent (MCP)
|
|
29
|
+
|
|
30
|
+
`skill-studio mcp` starts an MCP server. Add it to your agent:
|
|
31
|
+
|
|
32
|
+
Claude Code:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
claude mcp add --transport stdio skill-studio -- npx -y skill-studio mcp
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Codex:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
codex mcp add skill-studio -- npx -y skill-studio mcp
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The first `npx` download can take more than ten seconds. If Codex stops waiting, set `startup_timeout_sec = 30` under `[mcp_servers.skill-studio]` in `~/.codex/config.toml`.
|
|
45
|
+
|
|
46
|
+
Cursor, in `.cursor/mcp.json`:
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"mcpServers": {
|
|
51
|
+
"skill-studio": { "command": "npx", "args": ["-y", "skill-studio", "mcp"] }
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
OpenCode, in `opencode.json`:
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"$schema": "https://opencode.ai/config.json",
|
|
61
|
+
"mcp": {
|
|
62
|
+
"skill-studio": {
|
|
63
|
+
"type": "local",
|
|
64
|
+
"command": ["npx", "-y", "skill-studio", "mcp"],
|
|
65
|
+
"enabled": true
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Privacy
|
|
72
|
+
|
|
73
|
+
No account. It runs on your Mac. It can send anonymous crash reports, which you can turn off.
|
|
74
|
+
|
|
75
|
+
## License
|
|
76
|
+
|
|
77
|
+
MIT
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Runs the native skill-studio binary from the platform package that npm
|
|
3
|
+
// installed through optionalDependencies (@skill-studio/cli-<os>-<arch>).
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
const { spawn } = require("node:child_process");
|
|
7
|
+
const { constants } = require("node:os");
|
|
8
|
+
|
|
9
|
+
const platformPackage = `@skill-studio/cli-${process.platform}-${process.arch}`;
|
|
10
|
+
|
|
11
|
+
let binaryPath;
|
|
12
|
+
try {
|
|
13
|
+
binaryPath = require.resolve(`${platformPackage}/bin/skill-studio`);
|
|
14
|
+
} catch {
|
|
15
|
+
process.stderr.write(
|
|
16
|
+
`skill-studio: could not find ${platformPackage}.\n` +
|
|
17
|
+
"skill-studio runs on macOS only, on Apple silicon (arm64) and Intel (x64) Macs.\n" +
|
|
18
|
+
"On a Mac, install it again without skipping optional packages:\n" +
|
|
19
|
+
" npm install -g skill-studio --include=optional\n",
|
|
20
|
+
);
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Async spawn, not spawnSync: `skill-studio mcp` is a long-lived stdio server,
|
|
25
|
+
// and the launcher must stay responsive to forward signals to it.
|
|
26
|
+
const child = spawn(binaryPath, process.argv.slice(2), { stdio: "inherit" });
|
|
27
|
+
|
|
28
|
+
const forwardedSignals = ["SIGINT", "SIGTERM", "SIGHUP"];
|
|
29
|
+
for (const signal of forwardedSignals) {
|
|
30
|
+
process.on(signal, () => child.kill(signal));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
child.on("error", (error) => {
|
|
34
|
+
process.stderr.write(`skill-studio: could not start ${binaryPath}: ${error.message}\n`);
|
|
35
|
+
process.exit(1);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
child.on("exit", (code, signal) => {
|
|
39
|
+
if (signal) {
|
|
40
|
+
// Die from the same signal so the caller sees the real cause. The
|
|
41
|
+
// forwarding handlers must go first, or they would swallow it. Node
|
|
42
|
+
// ignores some signals (SIGPIPE), so also set the shell's 128+N code.
|
|
43
|
+
for (const forwarded of forwardedSignals) process.removeAllListeners(forwarded);
|
|
44
|
+
process.exitCode = 128 + (constants.signals[signal] ?? 0);
|
|
45
|
+
process.kill(process.pid, signal);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
process.exit(code ?? 1);
|
|
49
|
+
});
|
package/package.json
CHANGED
|
@@ -1,12 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skill-studio",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Check, park and clean up the agent skills on your Mac, from the terminal or an MCP client.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"agent-skills",
|
|
7
|
+
"claude-code",
|
|
8
|
+
"codex",
|
|
9
|
+
"cursor",
|
|
10
|
+
"mcp",
|
|
11
|
+
"opencode",
|
|
12
|
+
"skills"
|
|
13
|
+
],
|
|
14
|
+
"homepage": "https://github.com/sergical/skill-studio#readme",
|
|
15
|
+
"bugs": "https://github.com/sergical/skill-studio/issues",
|
|
5
16
|
"license": "MIT",
|
|
6
|
-
"homepage": "https://github.com/sergical/agent-studio",
|
|
7
17
|
"repository": {
|
|
8
18
|
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/sergical/
|
|
19
|
+
"url": "git+https://github.com/sergical/skill-studio.git"
|
|
10
20
|
},
|
|
11
|
-
"
|
|
21
|
+
"bin": {
|
|
22
|
+
"skill-studio": "bin/skill-studio.js"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"bin/skill-studio.js"
|
|
26
|
+
],
|
|
27
|
+
"optionalDependencies": {
|
|
28
|
+
"@skill-studio/cli-darwin-arm64": "0.1.0",
|
|
29
|
+
"@skill-studio/cli-darwin-x64": "0.1.0"
|
|
30
|
+
},
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=18"
|
|
33
|
+
}
|
|
12
34
|
}
|