@sstar/skill-install 1.0.0 → 1.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 +122 -122
- package/dist/cli.js +371 -12
- package/dist/core/errors.d.ts +1 -0
- package/dist/core/errors.js +1 -0
- package/dist/core/logger.js +1 -1
- package/dist/core/package-detector.d.ts +44 -0
- package/dist/core/package-detector.js +299 -0
- package/dist/http/http-client.js +1 -2
- package/dist/installer/install-service.d.ts +67 -5
- package/dist/installer/install-service.js +265 -56
- package/dist/plugins/plugin-manager.d.ts +95 -0
- package/dist/plugins/plugin-manager.js +475 -0
- package/dist/plugins/plugin-validator.d.ts +35 -0
- package/dist/plugins/plugin-validator.js +151 -0
- package/dist/plugins/types.d.ts +197 -0
- package/dist/plugins/types.js +16 -0
- package/dist/wiki/index.d.ts +3 -0
- package/dist/wiki/index.js +9 -0
- package/dist/wiki/skill-selector.d.ts +13 -0
- package/dist/wiki/skill-selector.js +104 -0
- package/dist/wiki/wiki-parser.d.ts +26 -0
- package/dist/wiki/wiki-parser.js +105 -0
- package/dist/wiki/wiki-searcher.d.ts +33 -0
- package/dist/wiki/wiki-searcher.js +98 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,180 +1,180 @@
|
|
|
1
|
-
# Agent Skill
|
|
1
|
+
# Agent Skill 安装工具
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
命令行工具,用于从多种来源(公开 URL、需要认证的 Wiki 或本地归档文件)安装 Agent Skills。自动下载、解压、验证并安装技能到 **Claude Code** 或 **Codex**。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 功能特性
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- **Wiki
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
7
|
+
- **多工具支持**:同时支持 Claude Code (`~/.claude/skills/`) 和 Codex (`~/.codex/skills/`)
|
|
8
|
+
- **自动检测来源**:自动识别来源类型(公开 URL、需认证的 Wiki URL 或本地文件)
|
|
9
|
+
- **多种归档格式**:支持 `.zip` 和 `.tar.gz` 归档文件
|
|
10
|
+
- **严格验证**:验证归档包含有效的 `SKILL.md` 文件及必需的 frontmatter
|
|
11
|
+
- **Wiki 认证**:支持内部 Confluence Wiki 的身份认证
|
|
12
|
+
- **技能管理**:列出已安装的技能并支持卸载
|
|
13
|
+
- **交互式提示**:可选择全局/本地目录和 AI 工具
|
|
14
|
+
- **自签名证书**:内置支持企业 SSL 证书
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## 什么是 Skills?
|
|
17
17
|
|
|
18
|
-
Skills
|
|
18
|
+
Skills 是一种轻量级的开放格式,用于通过专业知识和工作流扩展 AI 代理的能力。本质上,一个 skill 是一个包含 `SKILL.md` 文件的文件夹,该文件包含元数据(`name` 和 `description`)和指令。
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
了解更多:https://agentskills.io/what-are-skills
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## 安装
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
25
|
cd /home/ekko.bao/work/tools/wiki_download
|
|
26
26
|
npm install
|
|
27
27
|
npm run build
|
|
28
|
-
npm link #
|
|
28
|
+
npm link # 可选:全局安装
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## 使用方法
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
#
|
|
34
|
+
# 交互式安装(提示选择 AI 工具和目录)
|
|
35
35
|
skill-install install https://github.com/user/repo/archive/main.zip
|
|
36
36
|
|
|
37
|
-
#
|
|
37
|
+
# 指定 AI 工具安装(跳过提示)
|
|
38
38
|
skill-install -t claude install https://github.com/user/repo/archive/main.zip
|
|
39
39
|
skill-install -t codex install https://github.com/user/repo/archive/main.zip
|
|
40
40
|
|
|
41
|
-
#
|
|
41
|
+
# 显式安装到全局目录
|
|
42
42
|
skill-install install https://example.com/skill.zip --global
|
|
43
43
|
|
|
44
|
-
#
|
|
44
|
+
# 显式安装到本地目录
|
|
45
45
|
skill-install install https://example.com/skill.zip --local
|
|
46
46
|
|
|
47
|
-
#
|
|
47
|
+
# 安装到自定义目录
|
|
48
48
|
skill-install -s /path/to/skills install https://example.com/skill.zip
|
|
49
49
|
|
|
50
|
-
#
|
|
50
|
+
# 从需要认证的 Wiki 安装
|
|
51
51
|
skill-install install https://wiki.company.com/download/attachments/123/skill.zip -u username
|
|
52
52
|
|
|
53
|
-
#
|
|
53
|
+
# 从本地归档文件安装
|
|
54
54
|
skill-install install ./my-skill.zip
|
|
55
55
|
|
|
56
|
-
#
|
|
56
|
+
# 列出已安装的技能(提示选择 AI 工具)
|
|
57
57
|
skill-install list
|
|
58
58
|
|
|
59
|
-
#
|
|
59
|
+
# 列出指定 AI 工具的技能(跳过提示)
|
|
60
60
|
skill-install -t claude list
|
|
61
61
|
skill-install -t codex list
|
|
62
62
|
|
|
63
|
-
#
|
|
63
|
+
# 列出全局和本地目录的所有技能
|
|
64
64
|
skill-install list --all
|
|
65
65
|
|
|
66
|
-
#
|
|
66
|
+
# 卸载技能(提示选择 AI 工具)
|
|
67
67
|
skill-install uninstall my-skill
|
|
68
68
|
|
|
69
|
-
#
|
|
69
|
+
# 从指定 AI 工具卸载(跳过提示)
|
|
70
70
|
skill-install -t claude uninstall my-skill
|
|
71
71
|
skill-install -t codex uninstall my-skill
|
|
72
72
|
|
|
73
|
-
#
|
|
73
|
+
# 技能已存在时强制重新安装
|
|
74
74
|
skill-install install ./my-skill.zip --force
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
-
##
|
|
77
|
+
## 命令选项
|
|
78
78
|
|
|
79
|
-
###
|
|
80
|
-
|
|
|
81
|
-
|
|
82
|
-
| `-t, --tool <tool>` | AI
|
|
83
|
-
| `-s, --skills-dir <path>` |
|
|
84
|
-
| `-v, --verbose` |
|
|
85
|
-
| `-h, --help` |
|
|
79
|
+
### 全局选项
|
|
80
|
+
| 选项 | 描述 |
|
|
81
|
+
|------|------|
|
|
82
|
+
| `-t, --tool <tool>` | AI 工具:`claude` 或 `codex`(指定后跳过提示) |
|
|
83
|
+
| `-s, --skills-dir <path>` | 自定义技能目录 |
|
|
84
|
+
| `-v, --verbose` | 启用详细日志 |
|
|
85
|
+
| `-h, --help` | 显示帮助信息 |
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
**注意**:如果未指定 `-t`,工具将提示交互选择 Claude Code 或 Codex。
|
|
88
88
|
|
|
89
|
-
###
|
|
90
|
-
|
|
|
91
|
-
|
|
92
|
-
| `<source>` | URL
|
|
93
|
-
| `-g, --global` |
|
|
94
|
-
| `-l, --local` |
|
|
95
|
-
| `-u, --username <username>` | Wiki
|
|
96
|
-
| `-p, --password <password>` | Wiki
|
|
97
|
-
| `--allow-self-signed` |
|
|
98
|
-
| `-f, --force` |
|
|
89
|
+
### install 命令
|
|
90
|
+
| 选项 | 描述 |
|
|
91
|
+
|------|------|
|
|
92
|
+
| `<source>` | 技能归档的 URL 或本地文件路径 |
|
|
93
|
+
| `-g, --global` | 安装到全局目录 (`~/.claude/skills/` 或 `~/.codex/skills/`) |
|
|
94
|
+
| `-l, --local` | 安装到本地目录 (`./.claude/skills/` 或 `./.codex/skills/`) |
|
|
95
|
+
| `-u, --username <username>` | Wiki 用户名(用于 Wiki URL) |
|
|
96
|
+
| `-p, --password <password>` | Wiki 密码(或使用环境变量) |
|
|
97
|
+
| `--allow-self-signed` | 允许自签名 SSL 证书(默认:true) |
|
|
98
|
+
| `-f, --force` | 技能已存在时重新安装 |
|
|
99
99
|
|
|
100
|
-
|
|
100
|
+
**注意**:如果未指定 `-g`、`-l` 或 `-s`,工具将提示交互选择全局或本地目录。
|
|
101
101
|
|
|
102
|
-
###
|
|
103
|
-
|
|
|
104
|
-
|
|
105
|
-
| `-a, --all` |
|
|
102
|
+
### list 命令
|
|
103
|
+
| 选项 | 描述 |
|
|
104
|
+
|------|------|
|
|
105
|
+
| `-a, --all` | 列出全局和本地目录的所有技能 |
|
|
106
106
|
|
|
107
|
-
###
|
|
108
|
-
|
|
|
109
|
-
|
|
110
|
-
| `[name]` |
|
|
111
|
-
| `-y, --yes` |
|
|
107
|
+
### uninstall 命令
|
|
108
|
+
| 选项 | 描述 |
|
|
109
|
+
|------|------|
|
|
110
|
+
| `[name]` | 要卸载的技能名称(可选 - 留空可从列表中选择) |
|
|
111
|
+
| `-y, --yes` | 跳过确认提示 |
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
**注意**:如果未提供技能名称,工具将显示所有已安装的技能并允许通过输入数字来选择要卸载的技能(例如 `1 3 5`)。
|
|
114
114
|
|
|
115
|
-
##
|
|
115
|
+
## 环境变量
|
|
116
116
|
|
|
117
|
-
|
|
|
118
|
-
|
|
119
|
-
| `WIKI_USERNAME` |
|
|
120
|
-
| `WIKI_PASSWORD` |
|
|
117
|
+
| 变量 | 描述 |
|
|
118
|
+
|------|------|
|
|
119
|
+
| `WIKI_USERNAME` | 默认 Wiki 用户名 |
|
|
120
|
+
| `WIKI_PASSWORD` | 默认 Wiki 密码 |
|
|
121
121
|
|
|
122
|
-
##
|
|
122
|
+
## 技能验证
|
|
123
123
|
|
|
124
|
-
|
|
124
|
+
有效的技能必须在根目录包含 `SKILL.md` 文件,其中包含 YAML frontmatter:
|
|
125
125
|
|
|
126
126
|
```yaml
|
|
127
127
|
---
|
|
128
128
|
name: my-skill
|
|
129
|
-
description:
|
|
129
|
+
description: 对该技能功能的简要描述
|
|
130
130
|
---
|
|
131
131
|
|
|
132
132
|
# My Skill
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
给代理的指令...
|
|
135
135
|
```
|
|
136
136
|
|
|
137
|
-
|
|
138
|
-
- `SKILL.md`
|
|
139
|
-
- YAML frontmatter
|
|
140
|
-
- `name`
|
|
141
|
-
- `description`
|
|
137
|
+
工具会验证:
|
|
138
|
+
- `SKILL.md` 文件存在
|
|
139
|
+
- YAML frontmatter 存在(用 `---` 包裹)
|
|
140
|
+
- `name` 字段存在
|
|
141
|
+
- `description` 字段存在
|
|
142
142
|
|
|
143
|
-
##
|
|
143
|
+
## 技能目录结构
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
根据 AI 工具的不同,技能可以安装到不同位置:
|
|
146
146
|
|
|
147
147
|
### Claude Code
|
|
148
|
-
-
|
|
149
|
-
-
|
|
148
|
+
- **全局**:`~/.claude/skills/` - 所有项目可用
|
|
149
|
+
- **本地**:`./.claude/skills/` - 项目特定
|
|
150
150
|
|
|
151
151
|
### Codex
|
|
152
|
-
-
|
|
153
|
-
-
|
|
152
|
+
- **全局**:`~/.codex/skills/` - 所有项目可用
|
|
153
|
+
- **本地**:`./.codex/skills/` - 项目特定
|
|
154
154
|
|
|
155
|
-
###
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
155
|
+
### 目录选择
|
|
156
|
+
- **全局**:使用 `--global` 标志或提示时选择 "1"(推荐用于常用技能)
|
|
157
|
+
- **本地**:使用 `--local` 标志或提示时选择 "2"(推荐用于项目特定技能)
|
|
158
|
+
- **自定义**:使用 `-s /path/to/skills` 指定自定义位置
|
|
159
159
|
|
|
160
|
-
|
|
160
|
+
典型的已安装技能结构:
|
|
161
161
|
|
|
162
162
|
```
|
|
163
163
|
~/.claude/skills/my-skill/
|
|
164
|
-
├── SKILL.md #
|
|
165
|
-
├── scripts/ #
|
|
166
|
-
├── references/ #
|
|
167
|
-
└── assets/ #
|
|
164
|
+
├── SKILL.md # 必需:指令 + 元数据
|
|
165
|
+
├── scripts/ # 可选:可执行代码
|
|
166
|
+
├── references/ # 可选:文档
|
|
167
|
+
└── assets/ # 可选:模板、资源
|
|
168
168
|
```
|
|
169
169
|
|
|
170
|
-
##
|
|
170
|
+
## 使用示例
|
|
171
171
|
|
|
172
|
-
###
|
|
172
|
+
### 交互式安装(提示选择 AI 工具和目录)
|
|
173
173
|
|
|
174
174
|
```bash
|
|
175
175
|
skill-install install https://github.com/user/repo/archive/main.zip
|
|
176
176
|
|
|
177
|
-
#
|
|
177
|
+
# 输出:
|
|
178
178
|
# Select AI tool:
|
|
179
179
|
# 1. Claude Code (~/.claude/skills/)
|
|
180
180
|
# 2. Codex (~/.codex/skills/)
|
|
@@ -188,67 +188,67 @@ skill-install install https://github.com/user/repo/archive/main.zip
|
|
|
188
188
|
# Choose [1/2]: 1
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
-
###
|
|
191
|
+
### 为指定 AI 工具安装(跳过提示)
|
|
192
192
|
|
|
193
193
|
```bash
|
|
194
|
-
#
|
|
194
|
+
# 为 Claude Code 安装
|
|
195
195
|
skill-install -t claude install https://example.com/skill.zip
|
|
196
196
|
|
|
197
|
-
#
|
|
197
|
+
# 为 Codex 安装
|
|
198
198
|
skill-install -t codex install https://example.com/skill.zip
|
|
199
199
|
|
|
200
|
-
#
|
|
200
|
+
# 安装到 Codex 全局目录
|
|
201
201
|
skill-install -t codex install https://example.com/skill.zip --global
|
|
202
202
|
```
|
|
203
203
|
|
|
204
|
-
###
|
|
204
|
+
### 安装到指定目录
|
|
205
205
|
|
|
206
206
|
```bash
|
|
207
|
-
#
|
|
207
|
+
# 安装到全局目录
|
|
208
208
|
skill-install install https://example.com/skill.zip --global
|
|
209
209
|
|
|
210
|
-
#
|
|
210
|
+
# 安装到本地目录
|
|
211
211
|
skill-install install https://example.com/skill.zip --local
|
|
212
212
|
|
|
213
|
-
#
|
|
213
|
+
# 安装到自定义目录
|
|
214
214
|
skill-install -s /custom/path install https://example.com/skill.zip
|
|
215
215
|
```
|
|
216
216
|
|
|
217
|
-
###
|
|
217
|
+
### 从 Wiki 安装
|
|
218
218
|
|
|
219
219
|
```bash
|
|
220
220
|
skill-install install "https://wiki.company.com/download/attachments/12345/skill.zip?api=v2" -u john.doe
|
|
221
221
|
```
|
|
222
222
|
|
|
223
|
-
###
|
|
223
|
+
### 从本地文件安装
|
|
224
224
|
|
|
225
225
|
```bash
|
|
226
226
|
skill-install install ~/Downloads/my-skill.tar.gz
|
|
227
227
|
```
|
|
228
228
|
|
|
229
|
-
###
|
|
229
|
+
### 列出和卸载
|
|
230
230
|
|
|
231
231
|
```bash
|
|
232
|
-
#
|
|
232
|
+
# 列出技能(提示选择 AI 工具)
|
|
233
233
|
skill-install list
|
|
234
234
|
|
|
235
|
-
#
|
|
235
|
+
# 列出指定 AI 工具的技能(跳过提示)
|
|
236
236
|
skill-install -t claude list
|
|
237
237
|
skill-install -t codex list
|
|
238
238
|
|
|
239
|
-
#
|
|
239
|
+
# 列出两个目录的所有技能
|
|
240
240
|
skill-install -t claude list --all
|
|
241
241
|
|
|
242
|
-
#
|
|
242
|
+
# 卸载指定技能(提示选择 AI 工具)
|
|
243
243
|
skill-install uninstall my-skill
|
|
244
244
|
|
|
245
|
-
#
|
|
245
|
+
# 无提示卸载(指定 AI 工具并跳过确认)
|
|
246
246
|
skill-install -t codex uninstall my-skill -y
|
|
247
247
|
|
|
248
|
-
#
|
|
248
|
+
# 交互式卸载(从列表选择)
|
|
249
249
|
skill-install uninstall
|
|
250
250
|
|
|
251
|
-
#
|
|
251
|
+
# 输出:
|
|
252
252
|
# Select AI tool:
|
|
253
253
|
# 1. Claude Code (~/.claude/skills/)
|
|
254
254
|
# 2. Codex (~/.codex/skills/)
|
|
@@ -270,27 +270,27 @@ skill-install uninstall
|
|
|
270
270
|
# Selected skills: repo-git, pdf-processing
|
|
271
271
|
```
|
|
272
272
|
|
|
273
|
-
##
|
|
273
|
+
## 项目结构
|
|
274
274
|
|
|
275
275
|
```
|
|
276
276
|
src/
|
|
277
|
-
├── cli.ts # CLI
|
|
277
|
+
├── cli.ts # CLI 入口
|
|
278
278
|
├── installer/
|
|
279
|
-
│ └── install-service.ts #
|
|
279
|
+
│ └── install-service.ts # 核心安装逻辑
|
|
280
280
|
├── download/
|
|
281
|
-
│ └── download-manager.ts #
|
|
281
|
+
│ └── download-manager.ts # 下载管理器(wiki + 公共)
|
|
282
282
|
├── archive/
|
|
283
|
-
│ └── archive-extractor.ts #
|
|
283
|
+
│ └── archive-extractor.ts # 归档解压(ZIP、tar.gz)
|
|
284
284
|
├── source/
|
|
285
|
-
│ └── source-detector.ts #
|
|
285
|
+
│ └── source-detector.ts # 来源类型检测
|
|
286
286
|
├── skills/
|
|
287
|
-
│ ├── skills-manager.ts #
|
|
288
|
-
│ └── skill-validator.ts # SKILL.md
|
|
289
|
-
├── auth/ # Wiki
|
|
290
|
-
├── http/ #
|
|
291
|
-
└── core/ #
|
|
287
|
+
│ ├── skills-manager.ts # 列表/卸载操作
|
|
288
|
+
│ └── skill-validator.ts # SKILL.md 验证
|
|
289
|
+
├── auth/ # Wiki 认证
|
|
290
|
+
├── http/ # 带 Cookie 的 HTTP 客户端
|
|
291
|
+
└── core/ # 错误处理和日志
|
|
292
292
|
```
|
|
293
293
|
|
|
294
|
-
##
|
|
294
|
+
## 许可证
|
|
295
295
|
|
|
296
296
|
MIT
|