@dayinxisheng/skillctl 1.1.1 → 1.2.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/CHANGELOG.md +58 -79
- package/LICENSE +21 -21
- package/README.md +389 -389
- package/dist/commands/repo.d.ts +14 -0
- package/dist/commands/repo.d.ts.map +1 -0
- package/dist/commands/repo.js +50 -0
- package/dist/commands/repo.js.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/repo-handler.d.ts +27 -0
- package/dist/lib/repo-handler.d.ts.map +1 -0
- package/dist/lib/repo-handler.js +284 -0
- package/dist/lib/repo-handler.js.map +1 -0
- package/dist/types/index.d.ts +33 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/errors.d.ts +5 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +8 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +3 -5
- package/dist/utils/output.js.map +1 -1
- package/package.json +56 -56
- package/dist/commands/set-repo.d.ts +0 -6
- package/dist/commands/set-repo.d.ts.map +0 -1
- package/dist/commands/set-repo.js +0 -19
- package/dist/commands/set-repo.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,389 +1,389 @@
|
|
|
1
|
-
# @dayinxisheng/skillctl
|
|
2
|
-
|
|
3
|
-
> Claude Skills 管理工具 - 轻松管理你的 Claude Skills
|
|
4
|
-
|
|
5
|
-
管理 Claude Skills 的激活状态和项目归档,通过软链接实现 skills 的灵活切换。
|
|
6
|
-
|
|
7
|
-
## 📦 安装
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install -g @dayinxisheng/skillctl
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## 更新
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npm update -g @dayinxisheng/skillctl
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
安装完成后,可以在任何目录使用 `skillctl` 命令。
|
|
20
|
-
|
|
21
|
-
## 🚀 快速开始
|
|
22
|
-
|
|
23
|
-
### 第一步:设置仓库路径
|
|
24
|
-
|
|
25
|
-
告诉 skillctl 你的 skills 仓库在哪里(存储所有 skill 文件的目录):
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
skillctl config set-repo ~/my-skills
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### 第二步:查看可用的 skills
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
skillctl ls-all
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
输出示例:
|
|
38
|
-
```
|
|
39
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
40
|
-
项目中所有可用的 Skills
|
|
41
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
42
|
-
|
|
43
|
-
Name Description
|
|
44
|
-
─────────────────────────────────────────────────────────────
|
|
45
|
-
brainstorming Turn ideas into validated designs...
|
|
46
|
-
frontend-design Generate frontend code from UI...
|
|
47
|
-
pdf-tools PDF manipulation tools...
|
|
48
|
-
|
|
49
|
-
ℹ 共找到 3 个 skills
|
|
50
|
-
位置: ~/my-skills
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### 第三步:激活 skill
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
skillctl activate brainstorming
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
输出:
|
|
60
|
-
```
|
|
61
|
-
✓ 已激活: brainstorming (user)
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## 📚 核心概念
|
|
65
|
-
|
|
66
|
-
### User vs Project 两级作用域
|
|
67
|
-
|
|
68
|
-
skillctl 支持两个作用域:
|
|
69
|
-
|
|
70
|
-
| 作用域 | 路径 | 说明 |
|
|
71
|
-
|--------|------|------|
|
|
72
|
-
| **User** | `~/.claude/skills/` | 全局可用,所有项目共享 |
|
|
73
|
-
| **Project** | `./.claude/skills/` | 仅当前项目可用 |
|
|
74
|
-
|
|
75
|
-
**示例场景:**
|
|
76
|
-
- 团队共享的技能 → 用 Project 级别
|
|
77
|
-
- 个人常用技能 → 用 User 级别
|
|
78
|
-
|
|
79
|
-
## 🎯 常用命令
|
|
80
|
-
|
|
81
|
-
### 1. 激活 Skill
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
# 激活到 user 级别(默认)- 全局可用
|
|
85
|
-
skillctl activate brainstorming
|
|
86
|
-
|
|
87
|
-
# 激活到 project 级别 - 仅当前项目
|
|
88
|
-
skillctl activate -p brainstorming
|
|
89
|
-
|
|
90
|
-
# 批量激活所有 skills
|
|
91
|
-
skillctl activate --all
|
|
92
|
-
skillctl activate -u --all # 明确指定 user 级别
|
|
93
|
-
skillctl activate -p --all # 明确指定 project 级别
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### 2. 停用 Skill
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
# 停用 user 级别的 skill
|
|
100
|
-
skillctl deactivate brainstorming
|
|
101
|
-
|
|
102
|
-
# 停用 project 级别的 skill
|
|
103
|
-
skillctl deactivate -p brainstorming
|
|
104
|
-
|
|
105
|
-
# 批量停用所有
|
|
106
|
-
skillctl deactivate --all
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### 3. 查看状态
|
|
110
|
-
|
|
111
|
-
```bash
|
|
112
|
-
# 查看所有 skills 的激活状态(表格形式)
|
|
113
|
-
skillctl status
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
输出示例:
|
|
117
|
-
```
|
|
118
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
|
-
Skills 激活状态
|
|
120
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
121
|
-
|
|
122
|
-
Skill User Project
|
|
123
|
-
──────────────────────────── ────────── ───────────
|
|
124
|
-
brainstorming ✓ ✗
|
|
125
|
-
frontend-design ✗ ✓
|
|
126
|
-
pdf-tools ✓ ✓
|
|
127
|
-
|
|
128
|
-
ℹ 共 3 个 skills
|
|
129
|
-
✓ = 已激活 ✗ = 未激活
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
```bash
|
|
133
|
-
# 只看已激活的 skills
|
|
134
|
-
skillctl list
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
输出示例:
|
|
138
|
-
```
|
|
139
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
140
|
-
当前激活的 Skills
|
|
141
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
142
|
-
|
|
143
|
-
全局 (~/.claude/skills):
|
|
144
|
-
brainstorming → ~/my-skills/brainstorming
|
|
145
|
-
pdf-tools → ~/my-skills/pdf-tools
|
|
146
|
-
ℹ 共 2 个
|
|
147
|
-
|
|
148
|
-
本地 (./.claude/skills):
|
|
149
|
-
frontend-design → ~/my-skills/frontend-design
|
|
150
|
-
ℹ 共 1 个
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### 4. 导入 Skill
|
|
154
|
-
|
|
155
|
-
将外部开发的 skill 导入到你的项目仓库:
|
|
156
|
-
|
|
157
|
-
```bash
|
|
158
|
-
# 假设你有一个 skill 在 ~/.claude/skills/my-new-skill
|
|
159
|
-
# 将其导入到项目仓库
|
|
160
|
-
skillctl import my-new-skill
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
这会:
|
|
164
|
-
1. 将 skill 移动到你的项目仓库
|
|
165
|
-
2. 在原位置创建软链接
|
|
166
|
-
|
|
167
|
-
### 5. 拉取 Skill
|
|
168
|
-
|
|
169
|
-
从 Git 仓库(如 GitHub)拉取 skill 到本地:
|
|
170
|
-
|
|
171
|
-
```bash
|
|
172
|
-
# 拉取单个 skill
|
|
173
|
-
skillctl pull https://github.com/owner/repo path/to/skill
|
|
174
|
-
|
|
175
|
-
# 拉取多个 skills
|
|
176
|
-
skillctl pull https://github.com/owner/repo \
|
|
177
|
-
path/to/skill1 \
|
|
178
|
-
path/to/skill2
|
|
179
|
-
|
|
180
|
-
# 强制覆盖已存在的 skill(自动备份)
|
|
181
|
-
skillctl pull <repo-url> <path> --force
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
**使用仓库别名:**
|
|
185
|
-
|
|
186
|
-
```bash
|
|
187
|
-
# 添加别名
|
|
188
|
-
skillctl config add-repo anthropic https://github.com/anthropics/anthropic-quickstarts
|
|
189
|
-
|
|
190
|
-
# 使用别名拉取
|
|
191
|
-
skillctl pull anthropic typescript/search
|
|
192
|
-
|
|
193
|
-
# 查看所有别名
|
|
194
|
-
skillctl config show
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
**配置镜像加速:**
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
# 设置镜像(用于加速访问 GitHub)
|
|
201
|
-
skillctl config set-mirror https://ghfast.top
|
|
202
|
-
|
|
203
|
-
# 之后所有 pull 命令都会自动使用镜像
|
|
204
|
-
skillctl pull https://github.com/owner/repo path/to/skill
|
|
205
|
-
|
|
206
|
-
# 取消镜像设置
|
|
207
|
-
skillctl config unset-mirror
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
**特性:**
|
|
211
|
-
- 支持从 GitHub 仓库提取指定目录作为 skill
|
|
212
|
-
- 严格验证 SKILL.md 文件及 name 字段
|
|
213
|
-
- 下载进度显示
|
|
214
|
-
- 跨平台支持(Linux/macOS 使用 tar.gz,Windows 使用 zip)
|
|
215
|
-
- 支持仓库别名,简化常用仓库的拉取
|
|
216
|
-
- 支持镜像加速配置
|
|
217
|
-
|
|
218
|
-
### 6. 定位 Skill
|
|
219
|
-
|
|
220
|
-
查找 skill 的实际存储位置:
|
|
221
|
-
|
|
222
|
-
```bash
|
|
223
|
-
skillctl locate brainstorming
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
输出示例:
|
|
227
|
-
```
|
|
228
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
229
|
-
Skill 定位: brainstorming
|
|
230
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
231
|
-
|
|
232
|
-
全局: ~/.claude/skills/brainstorming → ~/my-skills/brainstorming (软链接)
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
## ⚙️ 配置管理
|
|
236
|
-
|
|
237
|
-
```bash
|
|
238
|
-
# 查看所有配置
|
|
239
|
-
skillctl config
|
|
240
|
-
# 或
|
|
241
|
-
skillctl config show
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
输出示例:
|
|
245
|
-
```
|
|
246
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
247
|
-
配置信息
|
|
248
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
249
|
-
|
|
250
|
-
配置文件: ~/.config/skillctl/config.json
|
|
251
|
-
|
|
252
|
-
仓库路径: ~/my-skills
|
|
253
|
-
镜像加速: https://ghfast.top
|
|
254
|
-
|
|
255
|
-
仓库别名:
|
|
256
|
-
anthropic → https://github.com/anthropics/anthropic-quickstarts
|
|
257
|
-
my-skills → https://github.com/dayinxisheng/skills
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
```bash
|
|
261
|
-
# 设置仓库路径
|
|
262
|
-
skillctl config set-repo /new/path/to/skills
|
|
263
|
-
|
|
264
|
-
# 添加仓库别名
|
|
265
|
-
skillctl config add-repo <别名名称> <仓库URL>
|
|
266
|
-
|
|
267
|
-
# 删除仓库别名
|
|
268
|
-
skillctl config remove-repo <别名名称>
|
|
269
|
-
|
|
270
|
-
# 设置镜像加速
|
|
271
|
-
skillctl config set-mirror https://ghfast.top
|
|
272
|
-
|
|
273
|
-
# 取消镜像设置
|
|
274
|
-
skillctl config unset-mirror
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
## 💡 实用场景
|
|
278
|
-
|
|
279
|
-
### 场景 1:新项目设置
|
|
280
|
-
|
|
281
|
-
```bash
|
|
282
|
-
# 1. 进入项目目录
|
|
283
|
-
cd ~/my-project
|
|
284
|
-
|
|
285
|
-
# 2. 激活项目需要的 skills
|
|
286
|
-
skillctl activate -p frontend-design
|
|
287
|
-
skillctl activate -p brainstorming
|
|
288
|
-
|
|
289
|
-
# 3. 验证
|
|
290
|
-
skillctl list
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
### 场景 2:切换技能集
|
|
294
|
-
|
|
295
|
-
```bash
|
|
296
|
-
# 停用当前所有 skills
|
|
297
|
-
skillctl deactivate --all
|
|
298
|
-
|
|
299
|
-
# 激活新的技能集
|
|
300
|
-
skillctl activate pdf-tools
|
|
301
|
-
skillctl activate docx-tools
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
### 场景 3:分享你的 skill
|
|
305
|
-
|
|
306
|
-
```bash
|
|
307
|
-
# 1. 导入你的 skill 到项目仓库
|
|
308
|
-
skillctl import my-awesome-skill
|
|
309
|
-
|
|
310
|
-
# 2. 提交到 git
|
|
311
|
-
cd ~/my-skills
|
|
312
|
-
git add skills/my-awesome-skill
|
|
313
|
-
git commit -m "Add my-awesome-skill"
|
|
314
|
-
git push
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
## 🛠️ 开发
|
|
318
|
-
|
|
319
|
-
```bash
|
|
320
|
-
# 克隆项目
|
|
321
|
-
git clone <repo-url>
|
|
322
|
-
cd skillctl
|
|
323
|
-
|
|
324
|
-
# 安装依赖
|
|
325
|
-
npm install
|
|
326
|
-
|
|
327
|
-
# 开发模式(监听文件变化)
|
|
328
|
-
npm run dev
|
|
329
|
-
|
|
330
|
-
# 构建
|
|
331
|
-
npm run build
|
|
332
|
-
|
|
333
|
-
# 本地测试
|
|
334
|
-
npm link
|
|
335
|
-
|
|
336
|
-
# 运行测试
|
|
337
|
-
npm test
|
|
338
|
-
|
|
339
|
-
# 代码检查
|
|
340
|
-
npm run lint
|
|
341
|
-
npm run lint:fix
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
## 📁 项目结构
|
|
345
|
-
|
|
346
|
-
```
|
|
347
|
-
src/
|
|
348
|
-
├── index.ts # CLI 入口
|
|
349
|
-
├── commands/ # 命令处理器
|
|
350
|
-
│ ├── activate.ts # 激活命令
|
|
351
|
-
│ ├── deactivate.ts # 停用命令
|
|
352
|
-
│ ├── import.ts # 导入命令
|
|
353
|
-
│ ├── pull.ts # 拉取命令
|
|
354
|
-
│ ├── locate.ts # 定位命令
|
|
355
|
-
│ ├── status.ts # 状态命令
|
|
356
|
-
│ ├── list.ts # 列表命令
|
|
357
|
-
│ ├── all-list.ts # 全部列表命令
|
|
358
|
-
│ ├── set-repo.ts # 设置仓库命令
|
|
359
|
-
│ └── config.ts # 配置命令
|
|
360
|
-
├── lib/ # 核心业务逻辑
|
|
361
|
-
│ ├── config-manager.ts # 配置管理
|
|
362
|
-
│ ├── link-handler.ts # 软链接处理
|
|
363
|
-
│ ├── pull-handler.ts # 拉取处理逻辑
|
|
364
|
-
│ └── skill-manager.ts # Skill 管理
|
|
365
|
-
├── utils/ # 工具函数
|
|
366
|
-
│ ├── output.ts # 彩色输出
|
|
367
|
-
│ ├── errors.ts # 错误类型
|
|
368
|
-
│ ├── platform.ts # 平台检测
|
|
369
|
-
│ ├── downloader.ts # 下载工具
|
|
370
|
-
│ ├── archive-extractor.ts # 解压工具
|
|
371
|
-
│ ├── skill-validator.ts # Skill 验证
|
|
372
|
-
│ ├── github-parser.ts # GitHub URL 解析
|
|
373
|
-
│ └── url-validator.ts # URL 验证
|
|
374
|
-
└── types/ # TypeScript 类型定义
|
|
375
|
-
└── index.ts
|
|
376
|
-
```
|
|
377
|
-
|
|
378
|
-
## 📄 许可证
|
|
379
|
-
|
|
380
|
-
MIT License © 2026 hrjlab
|
|
381
|
-
|
|
382
|
-
## 📝 变更日志
|
|
383
|
-
|
|
384
|
-
查看 [CHANGELOG.md](CHANGELOG.md) 了解版本更新历史。
|
|
385
|
-
|
|
386
|
-
## 🔗 相关链接
|
|
387
|
-
|
|
388
|
-
- [npm 包](https://www.npmjs.com/package/@dayinxisheng/skillctl)
|
|
389
|
-
- [问题反馈](<your-repo-issues>)
|
|
1
|
+
# @dayinxisheng/skillctl
|
|
2
|
+
|
|
3
|
+
> Claude Skills 管理工具 - 轻松管理你的 Claude Skills
|
|
4
|
+
|
|
5
|
+
管理 Claude Skills 的激活状态和项目归档,通过软链接实现 skills 的灵活切换。
|
|
6
|
+
|
|
7
|
+
## 📦 安装
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @dayinxisheng/skillctl
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 更新
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm update -g @dayinxisheng/skillctl
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
安装完成后,可以在任何目录使用 `skillctl` 命令。
|
|
20
|
+
|
|
21
|
+
## 🚀 快速开始
|
|
22
|
+
|
|
23
|
+
### 第一步:设置仓库路径
|
|
24
|
+
|
|
25
|
+
告诉 skillctl 你的 skills 仓库在哪里(存储所有 skill 文件的目录):
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
skillctl config set-repo ~/my-skills
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 第二步:查看可用的 skills
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
skillctl ls-all
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
输出示例:
|
|
38
|
+
```
|
|
39
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
40
|
+
项目中所有可用的 Skills
|
|
41
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
42
|
+
|
|
43
|
+
Name Description
|
|
44
|
+
─────────────────────────────────────────────────────────────
|
|
45
|
+
brainstorming Turn ideas into validated designs...
|
|
46
|
+
frontend-design Generate frontend code from UI...
|
|
47
|
+
pdf-tools PDF manipulation tools...
|
|
48
|
+
|
|
49
|
+
ℹ 共找到 3 个 skills
|
|
50
|
+
位置: ~/my-skills
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 第三步:激活 skill
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
skillctl activate brainstorming
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
输出:
|
|
60
|
+
```
|
|
61
|
+
✓ 已激活: brainstorming (user)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 📚 核心概念
|
|
65
|
+
|
|
66
|
+
### User vs Project 两级作用域
|
|
67
|
+
|
|
68
|
+
skillctl 支持两个作用域:
|
|
69
|
+
|
|
70
|
+
| 作用域 | 路径 | 说明 |
|
|
71
|
+
|--------|------|------|
|
|
72
|
+
| **User** | `~/.claude/skills/` | 全局可用,所有项目共享 |
|
|
73
|
+
| **Project** | `./.claude/skills/` | 仅当前项目可用 |
|
|
74
|
+
|
|
75
|
+
**示例场景:**
|
|
76
|
+
- 团队共享的技能 → 用 Project 级别
|
|
77
|
+
- 个人常用技能 → 用 User 级别
|
|
78
|
+
|
|
79
|
+
## 🎯 常用命令
|
|
80
|
+
|
|
81
|
+
### 1. 激活 Skill
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# 激活到 user 级别(默认)- 全局可用
|
|
85
|
+
skillctl activate brainstorming
|
|
86
|
+
|
|
87
|
+
# 激活到 project 级别 - 仅当前项目
|
|
88
|
+
skillctl activate -p brainstorming
|
|
89
|
+
|
|
90
|
+
# 批量激活所有 skills
|
|
91
|
+
skillctl activate --all
|
|
92
|
+
skillctl activate -u --all # 明确指定 user 级别
|
|
93
|
+
skillctl activate -p --all # 明确指定 project 级别
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 2. 停用 Skill
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# 停用 user 级别的 skill
|
|
100
|
+
skillctl deactivate brainstorming
|
|
101
|
+
|
|
102
|
+
# 停用 project 级别的 skill
|
|
103
|
+
skillctl deactivate -p brainstorming
|
|
104
|
+
|
|
105
|
+
# 批量停用所有
|
|
106
|
+
skillctl deactivate --all
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 3. 查看状态
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# 查看所有 skills 的激活状态(表格形式)
|
|
113
|
+
skillctl status
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
输出示例:
|
|
117
|
+
```
|
|
118
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
|
+
Skills 激活状态
|
|
120
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
121
|
+
|
|
122
|
+
Skill User Project
|
|
123
|
+
──────────────────────────── ────────── ───────────
|
|
124
|
+
brainstorming ✓ ✗
|
|
125
|
+
frontend-design ✗ ✓
|
|
126
|
+
pdf-tools ✓ ✓
|
|
127
|
+
|
|
128
|
+
ℹ 共 3 个 skills
|
|
129
|
+
✓ = 已激活 ✗ = 未激活
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# 只看已激活的 skills
|
|
134
|
+
skillctl list
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
输出示例:
|
|
138
|
+
```
|
|
139
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
140
|
+
当前激活的 Skills
|
|
141
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
142
|
+
|
|
143
|
+
全局 (~/.claude/skills):
|
|
144
|
+
brainstorming → ~/my-skills/brainstorming
|
|
145
|
+
pdf-tools → ~/my-skills/pdf-tools
|
|
146
|
+
ℹ 共 2 个
|
|
147
|
+
|
|
148
|
+
本地 (./.claude/skills):
|
|
149
|
+
frontend-design → ~/my-skills/frontend-design
|
|
150
|
+
ℹ 共 1 个
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### 4. 导入 Skill
|
|
154
|
+
|
|
155
|
+
将外部开发的 skill 导入到你的项目仓库:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# 假设你有一个 skill 在 ~/.claude/skills/my-new-skill
|
|
159
|
+
# 将其导入到项目仓库
|
|
160
|
+
skillctl import my-new-skill
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
这会:
|
|
164
|
+
1. 将 skill 移动到你的项目仓库
|
|
165
|
+
2. 在原位置创建软链接
|
|
166
|
+
|
|
167
|
+
### 5. 拉取 Skill
|
|
168
|
+
|
|
169
|
+
从 Git 仓库(如 GitHub)拉取 skill 到本地:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
# 拉取单个 skill
|
|
173
|
+
skillctl pull https://github.com/owner/repo path/to/skill
|
|
174
|
+
|
|
175
|
+
# 拉取多个 skills
|
|
176
|
+
skillctl pull https://github.com/owner/repo \
|
|
177
|
+
path/to/skill1 \
|
|
178
|
+
path/to/skill2
|
|
179
|
+
|
|
180
|
+
# 强制覆盖已存在的 skill(自动备份)
|
|
181
|
+
skillctl pull <repo-url> <path> --force
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**使用仓库别名:**
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# 添加别名
|
|
188
|
+
skillctl config add-repo anthropic https://github.com/anthropics/anthropic-quickstarts
|
|
189
|
+
|
|
190
|
+
# 使用别名拉取
|
|
191
|
+
skillctl pull anthropic typescript/search
|
|
192
|
+
|
|
193
|
+
# 查看所有别名
|
|
194
|
+
skillctl config show
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**配置镜像加速:**
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# 设置镜像(用于加速访问 GitHub)
|
|
201
|
+
skillctl config set-mirror https://ghfast.top
|
|
202
|
+
|
|
203
|
+
# 之后所有 pull 命令都会自动使用镜像
|
|
204
|
+
skillctl pull https://github.com/owner/repo path/to/skill
|
|
205
|
+
|
|
206
|
+
# 取消镜像设置
|
|
207
|
+
skillctl config unset-mirror
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**特性:**
|
|
211
|
+
- 支持从 GitHub 仓库提取指定目录作为 skill
|
|
212
|
+
- 严格验证 SKILL.md 文件及 name 字段
|
|
213
|
+
- 下载进度显示
|
|
214
|
+
- 跨平台支持(Linux/macOS 使用 tar.gz,Windows 使用 zip)
|
|
215
|
+
- 支持仓库别名,简化常用仓库的拉取
|
|
216
|
+
- 支持镜像加速配置
|
|
217
|
+
|
|
218
|
+
### 6. 定位 Skill
|
|
219
|
+
|
|
220
|
+
查找 skill 的实际存储位置:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
skillctl locate brainstorming
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
输出示例:
|
|
227
|
+
```
|
|
228
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
229
|
+
Skill 定位: brainstorming
|
|
230
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
231
|
+
|
|
232
|
+
全局: ~/.claude/skills/brainstorming → ~/my-skills/brainstorming (软链接)
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## ⚙️ 配置管理
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
# 查看所有配置
|
|
239
|
+
skillctl config
|
|
240
|
+
# 或
|
|
241
|
+
skillctl config show
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
输出示例:
|
|
245
|
+
```
|
|
246
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
247
|
+
配置信息
|
|
248
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
249
|
+
|
|
250
|
+
配置文件: ~/.config/skillctl/config.json
|
|
251
|
+
|
|
252
|
+
仓库路径: ~/my-skills
|
|
253
|
+
镜像加速: https://ghfast.top
|
|
254
|
+
|
|
255
|
+
仓库别名:
|
|
256
|
+
anthropic → https://github.com/anthropics/anthropic-quickstarts
|
|
257
|
+
my-skills → https://github.com/dayinxisheng/skills
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# 设置仓库路径
|
|
262
|
+
skillctl config set-repo /new/path/to/skills
|
|
263
|
+
|
|
264
|
+
# 添加仓库别名
|
|
265
|
+
skillctl config add-repo <别名名称> <仓库URL>
|
|
266
|
+
|
|
267
|
+
# 删除仓库别名
|
|
268
|
+
skillctl config remove-repo <别名名称>
|
|
269
|
+
|
|
270
|
+
# 设置镜像加速
|
|
271
|
+
skillctl config set-mirror https://ghfast.top
|
|
272
|
+
|
|
273
|
+
# 取消镜像设置
|
|
274
|
+
skillctl config unset-mirror
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## 💡 实用场景
|
|
278
|
+
|
|
279
|
+
### 场景 1:新项目设置
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
# 1. 进入项目目录
|
|
283
|
+
cd ~/my-project
|
|
284
|
+
|
|
285
|
+
# 2. 激活项目需要的 skills
|
|
286
|
+
skillctl activate -p frontend-design
|
|
287
|
+
skillctl activate -p brainstorming
|
|
288
|
+
|
|
289
|
+
# 3. 验证
|
|
290
|
+
skillctl list
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### 场景 2:切换技能集
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
# 停用当前所有 skills
|
|
297
|
+
skillctl deactivate --all
|
|
298
|
+
|
|
299
|
+
# 激活新的技能集
|
|
300
|
+
skillctl activate pdf-tools
|
|
301
|
+
skillctl activate docx-tools
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### 场景 3:分享你的 skill
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
# 1. 导入你的 skill 到项目仓库
|
|
308
|
+
skillctl import my-awesome-skill
|
|
309
|
+
|
|
310
|
+
# 2. 提交到 git
|
|
311
|
+
cd ~/my-skills
|
|
312
|
+
git add skills/my-awesome-skill
|
|
313
|
+
git commit -m "Add my-awesome-skill"
|
|
314
|
+
git push
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## 🛠️ 开发
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
# 克隆项目
|
|
321
|
+
git clone <repo-url>
|
|
322
|
+
cd skillctl
|
|
323
|
+
|
|
324
|
+
# 安装依赖
|
|
325
|
+
npm install
|
|
326
|
+
|
|
327
|
+
# 开发模式(监听文件变化)
|
|
328
|
+
npm run dev
|
|
329
|
+
|
|
330
|
+
# 构建
|
|
331
|
+
npm run build
|
|
332
|
+
|
|
333
|
+
# 本地测试
|
|
334
|
+
npm link
|
|
335
|
+
|
|
336
|
+
# 运行测试
|
|
337
|
+
npm test
|
|
338
|
+
|
|
339
|
+
# 代码检查
|
|
340
|
+
npm run lint
|
|
341
|
+
npm run lint:fix
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
## 📁 项目结构
|
|
345
|
+
|
|
346
|
+
```
|
|
347
|
+
src/
|
|
348
|
+
├── index.ts # CLI 入口
|
|
349
|
+
├── commands/ # 命令处理器
|
|
350
|
+
│ ├── activate.ts # 激活命令
|
|
351
|
+
│ ├── deactivate.ts # 停用命令
|
|
352
|
+
│ ├── import.ts # 导入命令
|
|
353
|
+
│ ├── pull.ts # 拉取命令
|
|
354
|
+
│ ├── locate.ts # 定位命令
|
|
355
|
+
│ ├── status.ts # 状态命令
|
|
356
|
+
│ ├── list.ts # 列表命令
|
|
357
|
+
│ ├── all-list.ts # 全部列表命令
|
|
358
|
+
│ ├── set-repo.ts # 设置仓库命令
|
|
359
|
+
│ └── config.ts # 配置命令
|
|
360
|
+
├── lib/ # 核心业务逻辑
|
|
361
|
+
│ ├── config-manager.ts # 配置管理
|
|
362
|
+
│ ├── link-handler.ts # 软链接处理
|
|
363
|
+
│ ├── pull-handler.ts # 拉取处理逻辑
|
|
364
|
+
│ └── skill-manager.ts # Skill 管理
|
|
365
|
+
├── utils/ # 工具函数
|
|
366
|
+
│ ├── output.ts # 彩色输出
|
|
367
|
+
│ ├── errors.ts # 错误类型
|
|
368
|
+
│ ├── platform.ts # 平台检测
|
|
369
|
+
│ ├── downloader.ts # 下载工具
|
|
370
|
+
│ ├── archive-extractor.ts # 解压工具
|
|
371
|
+
│ ├── skill-validator.ts # Skill 验证
|
|
372
|
+
│ ├── github-parser.ts # GitHub URL 解析
|
|
373
|
+
│ └── url-validator.ts # URL 验证
|
|
374
|
+
└── types/ # TypeScript 类型定义
|
|
375
|
+
└── index.ts
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
## 📄 许可证
|
|
379
|
+
|
|
380
|
+
MIT License © 2026 hrjlab
|
|
381
|
+
|
|
382
|
+
## 📝 变更日志
|
|
383
|
+
|
|
384
|
+
查看 [CHANGELOG.md](CHANGELOG.md) 了解版本更新历史。
|
|
385
|
+
|
|
386
|
+
## 🔗 相关链接
|
|
387
|
+
|
|
388
|
+
- [npm 包](https://www.npmjs.com/package/@dayinxisheng/skillctl)
|
|
389
|
+
- [问题反馈](<your-repo-issues>)
|