skillmux 0.1.0 → 0.1.1
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 +284 -111
- package/dist/cli.js +463 -180
- package/dist/cli.js.map +1 -1
- package/dist/index.js +463 -180
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,111 +1,284 @@
|
|
|
1
|
-
# SkillMux
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
- `
|
|
70
|
-
- `
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
skillmux
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
1
|
+
# SkillMux
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="assets/logo.png" alt="SkillMux logo" width="280" />
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
SkillMux 是一个用来管理本地 agent skills 的命令行工具。
|
|
8
|
+
|
|
9
|
+
很多 skills 会通过 `skills.sh` 一类的方式安装到多个 agent 目录里,例如 `.codex/skills`、`.claude/skills`、`.gemini/skills`。这些目录里通常不是多份独立文件,而是一份真实内容加上多处 symlink 或 junction。手动管理这些链接很麻烦,也容易弄乱。
|
|
10
|
+
|
|
11
|
+
SkillMux 的作用就是把这件事接管下来:把 skill 收拢到统一位置,然后按 agent 启用、停用、扫描和检查状态。它既适合人直接用,也适合把仓库链接发给 AI,让 AI 按文档自动安装和操作。
|
|
12
|
+
|
|
13
|
+
## 适合谁
|
|
14
|
+
|
|
15
|
+
如果你符合下面任意一种情况,SkillMux 就适合你:
|
|
16
|
+
|
|
17
|
+
- 你已经用过 `skills.sh` 或类似方式安装 skills
|
|
18
|
+
- 你同时在用 Codex、Claude、Gemini 等多个 agent
|
|
19
|
+
- 你想让某个 skill 只对部分 agent 可见
|
|
20
|
+
- 你不想每次停用后再重新下载同一个 skill
|
|
21
|
+
- 你想把本地 skills 管理得更清楚,方便自己或 AI 代管
|
|
22
|
+
|
|
23
|
+
## 安装
|
|
24
|
+
|
|
25
|
+
全局安装:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install -g skillmux
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
安装后可直接查看帮助:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
skillmux --help
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
卸载:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm uninstall -g skillmux
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
这只会卸载 CLI,不会删除本地的 `~/.skillmux` 数据目录。
|
|
44
|
+
|
|
45
|
+
## SkillMux 会管理什么
|
|
46
|
+
|
|
47
|
+
SkillMux 默认把自己的数据放在:
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
~/.skillmux/
|
|
51
|
+
config.json
|
|
52
|
+
manifest.json
|
|
53
|
+
skills/
|
|
54
|
+
<skill-id>/
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
含义如下:
|
|
58
|
+
|
|
59
|
+
- `config.json`:用户自定义的 agent 目录规则
|
|
60
|
+
- `manifest.json`:SkillMux 记录的托管状态
|
|
61
|
+
- `skills/<skill-id>/`:SkillMux 托管的真实 skill 内容
|
|
62
|
+
|
|
63
|
+
agent 目录里通常只保留指向这里的链接。
|
|
64
|
+
|
|
65
|
+
## 支持的 agent 目录
|
|
66
|
+
|
|
67
|
+
内置支持这些常见目录:
|
|
68
|
+
|
|
69
|
+
- `.codex/skills`
|
|
70
|
+
- `.claude/skills`
|
|
71
|
+
- `.gemini/skills`
|
|
72
|
+
- `.agents/skills`
|
|
73
|
+
- `.openclaw/skills`
|
|
74
|
+
|
|
75
|
+
如果你的环境不在这些目录里,也可以通过 `skillmux config add-agent` 注册自定义 agent。
|
|
76
|
+
|
|
77
|
+
## 快速开始
|
|
78
|
+
|
|
79
|
+
先看 SkillMux 找到了哪些 agent:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
skillmux agents
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
如果你的 agent 不在内置列表里,先加进去:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
skillmux config add-agent --id antigravity --root .gemini/antigravity --name "Gemini Antigravity"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
如果之后不再需要这个自定义 agent 规则,也可以删掉:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
skillmux config remove-agent --id antigravity
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
扫描本地 skills 状态:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
skillmux scan
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
把一个本地 skill 纳入 SkillMux 托管:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
skillmux import --source C:\path\to\find-skills --name find-skills
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
给某个 agent 启用这个 skill:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
skillmux enable --skill find-skills --agent codex
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
如果之后想让另一个 agent 看不到它:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
skillmux disable --skill find-skills --agent claude
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
查看当前状态:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
skillmux list --view skills
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
检查坏链、冲突目录和异常状态:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
skillmux doctor
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## 常用命令
|
|
134
|
+
|
|
135
|
+
### `skillmux agents`
|
|
136
|
+
|
|
137
|
+
查看当前识别到的 agent 目录。
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
skillmux agents
|
|
141
|
+
skillmux agents --json
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### `skillmux scan`
|
|
145
|
+
|
|
146
|
+
扫描本地 agent skills 目录,并刷新 SkillMux 的扫描结果。
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
skillmux scan
|
|
150
|
+
skillmux scan --json
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### `skillmux list`
|
|
154
|
+
|
|
155
|
+
查看当前状态。
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
skillmux list
|
|
159
|
+
skillmux list --view agents
|
|
160
|
+
skillmux list --view skills
|
|
161
|
+
skillmux list --view records --format json
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### `skillmux import`
|
|
165
|
+
|
|
166
|
+
把一个已经存在于本地的 skill 导入 SkillMux 托管目录。
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
skillmux import --source C:\path\to\find-skills --name find-skills
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
要求:
|
|
173
|
+
|
|
174
|
+
- `--source` 必须指向一个本地 skill 目录
|
|
175
|
+
- 目录根下必须有 `SKILL.md`
|
|
176
|
+
- 导入时会复制到 SkillMux 托管目录,不会删除原目录
|
|
177
|
+
|
|
178
|
+
### `skillmux enable`
|
|
179
|
+
|
|
180
|
+
把某个托管 skill 暴露给指定 agent。
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
skillmux enable --skill find-skills --agent codex
|
|
184
|
+
skillmux enable --skill find-skills --agent claude
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### `skillmux disable`
|
|
188
|
+
|
|
189
|
+
把某个托管 skill 从指定 agent 目录中移除。
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
skillmux disable --skill find-skills --agent codex
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### `skillmux doctor`
|
|
196
|
+
|
|
197
|
+
检查异常状态,例如:
|
|
198
|
+
|
|
199
|
+
- 坏链
|
|
200
|
+
- 托管目录缺失
|
|
201
|
+
- 看起来像 skill 但未被托管的目录
|
|
202
|
+
- 多个 agent 指向同一个 skills 目录
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
skillmux doctor
|
|
206
|
+
skillmux doctor --json
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### `skillmux config`
|
|
210
|
+
|
|
211
|
+
查看 SkillMux 解析到的配置和用户覆盖规则。
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
skillmux config
|
|
215
|
+
skillmux config --json
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### `skillmux config add-agent`
|
|
219
|
+
|
|
220
|
+
添加或覆盖一个自定义 agent 规则。
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
skillmux config add-agent --id antigravity --root .gemini/antigravity
|
|
224
|
+
skillmux config add-agent --id antigravity --root .gemini/antigravity --name "Gemini Antigravity"
|
|
225
|
+
skillmux config add-agent --id antigravity --root .gemini/antigravity --skills skills
|
|
226
|
+
skillmux config add-agent --id antigravity --root .gemini/antigravity --platform win32 --platform linux
|
|
227
|
+
skillmux config add-agent --id antigravity --root .gemini/antigravity --disabled-by-default
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
说明:
|
|
231
|
+
|
|
232
|
+
- `--id` 是 agent 的唯一标识
|
|
233
|
+
- `--root` 是相对用户 home 的根目录
|
|
234
|
+
- `--skills` 默认是 `skills`
|
|
235
|
+
- `--platform` 不传时默认写入当前平台
|
|
236
|
+
- `--disabled-by-default` 会把该自定义 agent 标记为默认不启用
|
|
237
|
+
|
|
238
|
+
### `skillmux config remove-agent`
|
|
239
|
+
|
|
240
|
+
删除一个自定义 agent 规则。
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
skillmux config remove-agent --id antigravity
|
|
244
|
+
skillmux config remove-agent --id antigravity --json
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
说明:
|
|
248
|
+
- 只会删除 `~/.skillmux/config.json` 里的该 agent override
|
|
249
|
+
- 不会删除 `manifest.json`
|
|
250
|
+
- 不会删除任何本地 skill、symlink 或 junction
|
|
251
|
+
|
|
252
|
+
## 一个典型流程
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
skillmux agents
|
|
256
|
+
skillmux config add-agent --id antigravity --root .gemini/antigravity
|
|
257
|
+
skillmux scan
|
|
258
|
+
skillmux import --source C:\skills\find-skills --name find-skills
|
|
259
|
+
skillmux enable --skill find-skills --agent codex
|
|
260
|
+
skillmux enable --skill find-skills --agent antigravity
|
|
261
|
+
skillmux list --view skills
|
|
262
|
+
skillmux disable --skill find-skills --agent antigravity
|
|
263
|
+
skillmux doctor
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## 使用注意
|
|
267
|
+
|
|
268
|
+
- `scan`、`import`、`enable`、`disable` 会直接修改本地状态
|
|
269
|
+
- `disable` 只会移除受管链接,不会盲删普通目录
|
|
270
|
+
- `import` 不会删除原始 skill 目录
|
|
271
|
+
- Windows 下目录链接使用 junction 语义
|
|
272
|
+
- 如果你手动改过 agent 目录,建议重新执行一次 `skillmux scan`
|
|
273
|
+
|
|
274
|
+
## 给 AI 使用时的建议
|
|
275
|
+
|
|
276
|
+
如果你把这个仓库链接发给 AI,让它帮你安装和使用 SkillMux,最有用的信息就是这几件事:
|
|
277
|
+
|
|
278
|
+
- 安装命令是 `npm install -g skillmux`
|
|
279
|
+
- 查看环境先用 `skillmux agents` 和 `skillmux scan`
|
|
280
|
+
- 自定义 agent 入口用 `skillmux config add-agent`
|
|
281
|
+
- 删除自定义 agent 入口用 `skillmux config remove-agent`
|
|
282
|
+
- 把本地 skill 纳入管理用 `skillmux import`
|
|
283
|
+
- 控制某个 skill 对哪些 agent 可见,用 `skillmux enable` 和 `skillmux disable`
|
|
284
|
+
- 检查异常状态用 `skillmux doctor`
|