skills-cn 1.4.9
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 +490 -0
- package/ThirdPartyNoticeText.txt +117 -0
- package/bin/cli.mjs +14 -0
- package/dist/_chunks/libs/@clack/core.mjs +767 -0
- package/dist/_chunks/libs/@clack/prompts.mjs +334 -0
- package/dist/_chunks/libs/@kwsites/file-exists.mjs +562 -0
- package/dist/_chunks/libs/@kwsites/promise-deferred.mjs +37 -0
- package/dist/_chunks/libs/simple-git.mjs +3584 -0
- package/dist/_chunks/libs/xdg-basedir.mjs +14 -0
- package/dist/_chunks/rolldown-runtime.mjs +33 -0
- package/dist/cli.d.mts +1 -0
- package/dist/cli.mjs +4636 -0
- package/package.json +116 -0
package/README.md
ADDED
|
@@ -0,0 +1,490 @@
|
|
|
1
|
+
# skills-cn
|
|
2
|
+
|
|
3
|
+
开放 Agent Skills 生态系统的 CLI 工具。
|
|
4
|
+
|
|
5
|
+
> [!NOTE]
|
|
6
|
+
> 本项目是基于 [vercel-labs/skills](https://github.com/vercel-labs/skills) 的中国内地加速版本,针对 GitHub 访问速度进行了优化。
|
|
7
|
+
|
|
8
|
+
[**English**](./README-en.md) | 中文
|
|
9
|
+
|
|
10
|
+
<!-- agent-list:start -->
|
|
11
|
+
支持 **OpenCode**、**Claude Code**、**Codex**、**Cursor** 等 [41+ 种 Agent](#支持的-agent)。
|
|
12
|
+
<!-- agent-list:end -->
|
|
13
|
+
|
|
14
|
+
## 特性
|
|
15
|
+
|
|
16
|
+
- 🚀 **GitHub 加速**:使用 bgithub.xyz 代理,解决中国大陆访问 GitHub 网络问题
|
|
17
|
+
- 📦 **一键安装**:支持多种来源格式安装 skills
|
|
18
|
+
- 🔄 **自动更新**:check 和 update 命令方便管理已安装的 skills
|
|
19
|
+
- 🌐 **多 Agent 支持**:支持 46+ 种主流 Coding Agent
|
|
20
|
+
|
|
21
|
+
## 为什么创建此项目
|
|
22
|
+
|
|
23
|
+
### 背景
|
|
24
|
+
|
|
25
|
+
在中国大陆使用 Coding Agent 时,通过 [skills.sh](https://skills.sh) 安装的 skills 质量普遍较高,但安装过程经常因为 GitHub 网络问题而失败。虽有 [clawhub](https://clawhub.com) 等提供中国加速的平台,但其 skills 质量参差不齐,难以满足日常开发需求。
|
|
26
|
+
|
|
27
|
+
### 解决方案
|
|
28
|
+
|
|
29
|
+
本项目保留 [vercel-labs/skills](https://github.com/vercel-labs/skills) 原版的高质量 skills,通过 `bgithub.xyz` 代理实现 GitHub 访问加速,让中国大陆用户也能流畅地安装和使用优质 skills。
|
|
30
|
+
|
|
31
|
+
### 与原版的区别
|
|
32
|
+
|
|
33
|
+
| 对比项 | vercel-labs/skills | skills-cn |
|
|
34
|
+
| ------ | ----------------- | --------- |
|
|
35
|
+
| GitHub 访问 | 直连(国内缓慢/失败) | bgithub.xyz 加速 |
|
|
36
|
+
| skills 来源 | 官方高质量仓库 | 官方高质量仓库 |
|
|
37
|
+
| CLI 命令 | `npx skills` | `npx skills-cn` |
|
|
38
|
+
| 维护更新 | Vercel 官方 | 社区维护 |
|
|
39
|
+
|
|
40
|
+
## 安装 Skills
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx skills-cn add vercel-labs/agent-skills
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 安装来源格式
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# GitHub 简写格式 (owner/repo)
|
|
50
|
+
npx skills-cn add vercel-labs/agent-skills
|
|
51
|
+
|
|
52
|
+
# 完整 GitHub URL
|
|
53
|
+
npx skills-cn add https://github.com/vercel-labs/agent-skills
|
|
54
|
+
|
|
55
|
+
# 指定 repo 中的某个 skill 路径
|
|
56
|
+
npx skills-cn add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
|
|
57
|
+
|
|
58
|
+
# GitLab URL
|
|
59
|
+
npx skills-cn add https://gitlab.com/org/repo
|
|
60
|
+
|
|
61
|
+
# 任意 git URL
|
|
62
|
+
npx skills-cn add git@github.com:vercel-labs/agent-skills.git
|
|
63
|
+
|
|
64
|
+
# 本地路径
|
|
65
|
+
npx skills-cn add ./my-local-skills
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 选项
|
|
69
|
+
|
|
70
|
+
| 选项 | 说明 |
|
|
71
|
+
| ------------------------- | ---------------------------------------------------------------------------------------------- |
|
|
72
|
+
| `-g, --global` | 安装到用户目录而非项目目录 |
|
|
73
|
+
| `-a, --agent <agents...>` | <!-- agent-names:start -->安装到指定 Agent(如 `claude-code`、`codex`)。见 [支持的 Agent](#支持的-agent)<!-- agent-names:end --> |
|
|
74
|
+
| `-s, --skill <skills...>` | 按名称安装指定 skills(使用 `'*'` 安装所有 skills) |
|
|
75
|
+
| `-l, --list` | 列出可用 skills 而不安装 |
|
|
76
|
+
| `--copy` | 复制文件而非符号链接到 Agent 目录 |
|
|
77
|
+
| `-y, --yes` | 跳过所有确认提示 |
|
|
78
|
+
| `--all` | 安装所有 skills 到所有 Agent,无需提示 |
|
|
79
|
+
|
|
80
|
+
### 示例
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# 列出仓库中的所有 skills
|
|
84
|
+
npx skills-cn add vercel-labs/agent-skills --list
|
|
85
|
+
|
|
86
|
+
# 安装指定的 skills
|
|
87
|
+
npx skills-cn add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
|
|
88
|
+
|
|
89
|
+
# 安装名称带空格的 skill(需加引号)
|
|
90
|
+
npx skills-cn add owner/repo --skill "Convex Best Practices"
|
|
91
|
+
|
|
92
|
+
# 安装到指定 Agent
|
|
93
|
+
npx skills-cn add vercel-labs/agent-skills -a claude-code -a opencode
|
|
94
|
+
|
|
95
|
+
# 非交互式安装(适合 CI/CD)
|
|
96
|
+
npx skills-cn add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y
|
|
97
|
+
|
|
98
|
+
# 从仓库安装所有 skills 到所有 Agent
|
|
99
|
+
npx skills-cn add vercel-labs/agent-skills --all
|
|
100
|
+
|
|
101
|
+
# 安装所有 skills 到指定 Agent
|
|
102
|
+
npx skills-cn add vercel-labs/agent-skills --skill '*' -a claude-code
|
|
103
|
+
|
|
104
|
+
# 安装指定 skills 到所有 Agent
|
|
105
|
+
npx skills-cn add vercel-labs/agent-skills --agent '*' --skill frontend-design
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 安装范围
|
|
109
|
+
|
|
110
|
+
| 范围 | 标志 | 位置 | 用途 |
|
|
111
|
+
| ----------- | --------- | ------------------ | -------------------------------------- |
|
|
112
|
+
| **项目级** | (默认) | `./<agent>/skills/` | 随项目提交,与团队共享 |
|
|
113
|
+
| **全局** | `-g` | `~/<agent>/skills/` | 在所有项目中可用 |
|
|
114
|
+
|
|
115
|
+
### 安装方式
|
|
116
|
+
|
|
117
|
+
交互式安装时,可选择:
|
|
118
|
+
|
|
119
|
+
| 方式 | 说明 |
|
|
120
|
+
| ---------------------- | ------------------------------------------------------------------------------ |
|
|
121
|
+
| **符号链接**(推荐) | 从每个 Agent 链接到 canonical 副本。单一数据源,更新方便 |
|
|
122
|
+
| **复制** | 为每个 Agent 创建独立副本。用于不支持符号链接的情况 |
|
|
123
|
+
|
|
124
|
+
## 其他命令
|
|
125
|
+
|
|
126
|
+
| 命令 | 说明 |
|
|
127
|
+
| ------------------------ | ------------------------------------ |
|
|
128
|
+
| `npx skills-cn list` | 列出已安装的 skills(别名:`ls`) |
|
|
129
|
+
| `npx skills-cn find [query]` | 交互式或按关键词搜索 skills |
|
|
130
|
+
| `npx skills-cn remove [skills]` | 从 Agent 中移除 skills |
|
|
131
|
+
| `npx skills-cn check` | 检查可用的 skill 更新 |
|
|
132
|
+
| `npx skills-cn update` | 更新所有已安装的 skills 到最新版本 |
|
|
133
|
+
| `npx skills-cn init [name]` | 创建新的 SKILL.md 模板 |
|
|
134
|
+
|
|
135
|
+
### `skills list`
|
|
136
|
+
|
|
137
|
+
列出所有已安装的 skills。类似 `npm ls`。
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# 列出所有已安装的 skills(项目级和全局)
|
|
141
|
+
npx skills-cn list
|
|
142
|
+
|
|
143
|
+
# 仅列出全局 skills
|
|
144
|
+
npx skills-cn ls -g
|
|
145
|
+
|
|
146
|
+
# 按 Agent 过滤
|
|
147
|
+
npx skills-cn ls -a claude-code -a cursor
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### `skills find`
|
|
151
|
+
|
|
152
|
+
交互式或按关键词搜索 skills。
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# 交互式搜索(fzf 风格)
|
|
156
|
+
npx skills-cn find
|
|
157
|
+
|
|
158
|
+
# 按关键词搜索
|
|
159
|
+
npx skills-cn find typescript
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### `skills check` / `skills update`
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
# 检查是否有可用的 skill 更新
|
|
166
|
+
npx skills-cn check
|
|
167
|
+
|
|
168
|
+
# 更新所有 skills 到最新版本
|
|
169
|
+
npx skills-cn update
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### `skills init`
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# 在当前目录创建 SKILL.md
|
|
176
|
+
npx skills-cn init
|
|
177
|
+
|
|
178
|
+
# 在子目录中创建新的 skill
|
|
179
|
+
npx skills-cn init my-skill
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### `skills remove`
|
|
183
|
+
|
|
184
|
+
从 Agent 中移除 skills。
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# 交互式选择要移除的 skills
|
|
188
|
+
npx skills-cn remove
|
|
189
|
+
|
|
190
|
+
# 按名称移除指定的 skill
|
|
191
|
+
npx skills-cn remove web-design-guidelines
|
|
192
|
+
|
|
193
|
+
# 移除多个 skills
|
|
194
|
+
npx skills-cn remove frontend-design web-design-guidelines
|
|
195
|
+
|
|
196
|
+
# 从全局范围移除
|
|
197
|
+
npx skills-cn remove --global web-design-guidelines
|
|
198
|
+
|
|
199
|
+
# 仅从指定 Agent 移除
|
|
200
|
+
npx skills-cn remove --agent claude-code cursor my-skill
|
|
201
|
+
|
|
202
|
+
# 无需确认移除所有已安装的 skills
|
|
203
|
+
npx skills-cn remove --all
|
|
204
|
+
|
|
205
|
+
# 从特定 Agent 移除所有 skills
|
|
206
|
+
npx skills-cn remove --skill '*' -a cursor
|
|
207
|
+
|
|
208
|
+
# 从所有 Agent 移除特定 skill
|
|
209
|
+
npx skills-cn remove my-skill --agent '*'
|
|
210
|
+
|
|
211
|
+
# 使用 rm 别名
|
|
212
|
+
npx skills-cn rm my-skill
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
| 选项 | 说明 |
|
|
216
|
+
| ------------- | ----------------------------------------- |
|
|
217
|
+
| `-g, --global` | 从全局范围(~/.)而非项目移除 |
|
|
218
|
+
| `-a, --agent` | 从指定 Agent 移除(使用 `'*'` 表示所有) |
|
|
219
|
+
| `-s, --skill` | 指定要移除的 skills(使用 `'*'` 表示所有) |
|
|
220
|
+
| `-y, --yes` | 跳过确认提示 |
|
|
221
|
+
| `--all` | `--skill '*' --agent '*' -y` 的简写 |
|
|
222
|
+
|
|
223
|
+
## 什么是 Agent Skills?
|
|
224
|
+
|
|
225
|
+
Agent Skills 是可重用的指令集,用于扩展 Coding Agent 的能力。它们定义在带有 YAML frontmatter 的 `SKILL.md` 文件中,包含 `name` 和 `description`。
|
|
226
|
+
|
|
227
|
+
Skills 使 Agent 能够执行专业任务,例如:
|
|
228
|
+
|
|
229
|
+
- 从 git 历史生成发版说明
|
|
230
|
+
- 按团队规范创建 PR
|
|
231
|
+
- 集成外部工具(Linear、Notion 等)
|
|
232
|
+
|
|
233
|
+
在 **[skills.sh](https://skills.sh)** 发现更多 Skills。
|
|
234
|
+
|
|
235
|
+
## 支持的 Agent
|
|
236
|
+
|
|
237
|
+
Skills 可以安装到以下任意 Agent:
|
|
238
|
+
|
|
239
|
+
<!-- supported-agents:start -->
|
|
240
|
+
| Agent | `--agent` | 项目路径 | 全局路径 |
|
|
241
|
+
|-------|-----------|----------|----------|
|
|
242
|
+
| Amp, Kimi Code CLI, Replit, Universal | `amp`, `kimi-cli`, `replit`, `universal` | `.agents/skills/` | `~/.config/agents/skills/` |
|
|
243
|
+
| Antigravity | `antigravity` | `.agents/skills/` | `~/.gemini/antigravity/skills/` |
|
|
244
|
+
| Augment | `augment` | `.augment/skills/` | `~/.augment/skills/` |
|
|
245
|
+
| IBM Bob | `bob` | `.bob/skills/` | `~/.bob/skills/` |
|
|
246
|
+
| Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
|
|
247
|
+
| OpenClaw | `openclaw` | `skills/` | `~/.openclaw/skills/` |
|
|
248
|
+
| Cline, Warp | `cline`, `warp` | `.agents/skills/` | `~/.agents/skills/` |
|
|
249
|
+
| CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~/.codebuddy/skills/` |
|
|
250
|
+
| Codex | `codex` | `.agents/skills/` | `~/.codex/skills/` |
|
|
251
|
+
| Command Code | `command-code` | `.commandcode/skills/` | `~/.commandcode/skills/` |
|
|
252
|
+
| Continue | `continue` | `.continue/skills/` | `~/.continue/skills/` |
|
|
253
|
+
| Cortex Code | `cortex` | `.cortex/skills/` | `~/.snowflake/cortex/skills/` |
|
|
254
|
+
| Crush | `crush` | `.crush/skills/` | `~/.config/crush/skills/` |
|
|
255
|
+
| Cursor | `cursor` | `.agents/skills/` | `~/.cursor/skills/` |
|
|
256
|
+
| Deep Agents | `deepagents` | `.agents/skills/` | `~/.deepagents/agent/skills/` |
|
|
257
|
+
| Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
|
|
258
|
+
| Firebender | `firebender` | `.agents/skills/` | `~/.firebender/skills/` |
|
|
259
|
+
| Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
|
|
260
|
+
| GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
|
|
261
|
+
| Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
|
|
262
|
+
| Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
|
|
263
|
+
| iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
|
|
264
|
+
| Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
|
|
265
|
+
| Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
|
|
266
|
+
| Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
|
|
267
|
+
| MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
|
|
268
|
+
| Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
|
|
269
|
+
| Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
|
|
270
|
+
| OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
|
|
271
|
+
| OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
|
|
272
|
+
| Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
|
|
273
|
+
| Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
|
|
274
|
+
| Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
|
|
275
|
+
| Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
|
|
276
|
+
| Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
|
|
277
|
+
| Trae CN | `trae-cn` | `.trae/skills/` | `~/.trae-cn/skills/` |
|
|
278
|
+
| Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
|
|
279
|
+
| Zencoder | `zencoder` | `.zencoder/skills/` | `~/.zencoder/skills/` |
|
|
280
|
+
| Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
|
|
281
|
+
| Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
|
|
282
|
+
| AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
|
|
283
|
+
<!-- supported-agents:end -->
|
|
284
|
+
|
|
285
|
+
> [!NOTE]
|
|
286
|
+
> **Kiro CLI 用户:**安装 skills 后,需要手动将其添加到自定义 Agent 的 `resources` 中:
|
|
287
|
+
>
|
|
288
|
+
> ```json
|
|
289
|
+
> {
|
|
290
|
+
> "resources": ["skill://.kiro/skills/**/SKILL.md"]
|
|
291
|
+
> }
|
|
292
|
+
> ```
|
|
293
|
+
|
|
294
|
+
CLI 会自动检测已安装的 Coding Agent。如未检测到,会提示选择要安装到的 Agent。
|
|
295
|
+
|
|
296
|
+
## 创建 Skills
|
|
297
|
+
|
|
298
|
+
Skills 是包含 `SKILL.md` 文件(带 YAML frontmatter)的目录:
|
|
299
|
+
|
|
300
|
+
```markdown
|
|
301
|
+
---
|
|
302
|
+
name: my-skill
|
|
303
|
+
description: 这个 skill 的作用及使用场景
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
# My Skill
|
|
307
|
+
|
|
308
|
+
激活此 skill 时 Agent 遵循的指令。
|
|
309
|
+
|
|
310
|
+
## 使用场景
|
|
311
|
+
|
|
312
|
+
描述适合使用此 skill 的场景。
|
|
313
|
+
|
|
314
|
+
## 步骤
|
|
315
|
+
|
|
316
|
+
1. 首先这样做
|
|
317
|
+
2. 然后做那件事
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### 必需字段
|
|
321
|
+
|
|
322
|
+
- `name`:唯一标识符(小写,允许连字符)
|
|
323
|
+
- `description`:简要说明 skill 的作用
|
|
324
|
+
|
|
325
|
+
### 可选字段
|
|
326
|
+
|
|
327
|
+
- `metadata.internal`:设为 `true` 可隐藏 skill。内部 skill 仅在设置 `INSTALL_INTERNAL_SKILLS=1` 时可见和可安装。适用于开发中的 skill 或仅供内部使用的工具。
|
|
328
|
+
|
|
329
|
+
```markdown
|
|
330
|
+
---
|
|
331
|
+
name: my-internal-skill
|
|
332
|
+
description: 默认不显示的内部 skill
|
|
333
|
+
metadata:
|
|
334
|
+
internal: true
|
|
335
|
+
---
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### Skill 发现位置
|
|
339
|
+
|
|
340
|
+
CLI 在仓库的以下位置搜索 skills:
|
|
341
|
+
|
|
342
|
+
<!-- skill-discovery:start -->
|
|
343
|
+
- 根目录(如果包含 `SKILL.md`)
|
|
344
|
+
- `skills/`
|
|
345
|
+
- `skills/.curated/`
|
|
346
|
+
- `skills/.experimental/`
|
|
347
|
+
- `skills/.system/`
|
|
348
|
+
- `.agents/skills/`
|
|
349
|
+
- `.augment/skills/`
|
|
350
|
+
- `.bob/skills/`
|
|
351
|
+
- `.claude/skills/`
|
|
352
|
+
- `./skills/`
|
|
353
|
+
- `.codebuddy/skills/`
|
|
354
|
+
- `.commandcode/skills/`
|
|
355
|
+
- `.continue/skills/`
|
|
356
|
+
- `.cortex/skills/`
|
|
357
|
+
- `.crush/skills/`
|
|
358
|
+
- `.factory/skills/`
|
|
359
|
+
- `.goose/skills/`
|
|
360
|
+
- `.junie/skills/`
|
|
361
|
+
- `.iflow/skills/`
|
|
362
|
+
- `.kilocode/skills/`
|
|
363
|
+
- `.kiro/skills/`
|
|
364
|
+
- `.kode/skills/`
|
|
365
|
+
- `.mcpjam/skills/`
|
|
366
|
+
- `.vibe/skills/`
|
|
367
|
+
- `.mux/skills/`
|
|
368
|
+
- `.openhands/skills/`
|
|
369
|
+
- `.pi/skills/`
|
|
370
|
+
- `.qoder/skills/`
|
|
371
|
+
- `.qwen/skills/`
|
|
372
|
+
- `.roo/skills/`
|
|
373
|
+
- `.trae/skills/`
|
|
374
|
+
- `.windsurf/skills/`
|
|
375
|
+
- `.zencoder/skills/`
|
|
376
|
+
- `.neovate/skills/`
|
|
377
|
+
- `.pochi/skills/`
|
|
378
|
+
- `.adal/skills/`
|
|
379
|
+
<!-- skill-discovery:end -->
|
|
380
|
+
|
|
381
|
+
### 插件清单发现
|
|
382
|
+
|
|
383
|
+
如果存在 `.claude-plugin/marketplace.json` 或 `.claude-plugin/plugin.json`,也会发现其中声明的 skills:
|
|
384
|
+
|
|
385
|
+
```json
|
|
386
|
+
// .claude-plugin/marketplace.json
|
|
387
|
+
{
|
|
388
|
+
"metadata": { "pluginRoot": "./plugins" },
|
|
389
|
+
"plugins": [
|
|
390
|
+
{
|
|
391
|
+
"name": "my-plugin",
|
|
392
|
+
"source": "my-plugin",
|
|
393
|
+
"skills": ["./skills/review", "./skills/test"]
|
|
394
|
+
}
|
|
395
|
+
]
|
|
396
|
+
}
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
这支持与 [Claude Code 插件市场](https://code.claude.com/docs/en/plugin-marketplaces) 生态系统的兼容性。
|
|
400
|
+
|
|
401
|
+
如果标准位置未找到 skills,则执行递归搜索。
|
|
402
|
+
|
|
403
|
+
## 兼容性
|
|
404
|
+
|
|
405
|
+
Skills 遵循共享的 [Agent Skills 规范](https://agentskills.io),因此在各 Agent 之间基本兼容。但某些功能可能特定于某些 Agent:
|
|
406
|
+
|
|
407
|
+
| 功能 | OpenCode | OpenHands | Claude Code | Cline | CodeBuddy | Codex | Command Code | Kiro CLI | Cursor | Antigravity | Roo Code | Github Copilot | Amp | OpenClaw | Neovate | Pi | Qoder | Zencoder |
|
|
408
|
+
| ------------- | -------- | --------- | ----------- | ----- | --------- | ----- | ------------ | -------- | ------ | ----------- | -------- | -------------- | --- | -------- | ------- | --- | ----- | -------- |
|
|
409
|
+
| 基础 skills | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
|
410
|
+
| `allowed-tools` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
|
|
411
|
+
| `context: fork` | No | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
|
|
412
|
+
| Hooks | No | No | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
|
|
413
|
+
|
|
414
|
+
## 故障排除
|
|
415
|
+
|
|
416
|
+
### "找不到 skills"
|
|
417
|
+
|
|
418
|
+
确保仓库包含有效的 `SKILL.md` 文件,且 frontmatter 中有 `name` 和 `description`。
|
|
419
|
+
|
|
420
|
+
### Skill 未在 Agent 中加载
|
|
421
|
+
|
|
422
|
+
- 验证 skill 安装到了正确路径
|
|
423
|
+
- 查看 Agent 文档了解 skill 加载要求
|
|
424
|
+
- 确保 `SKILL.md` frontmatter 是有效的 YAML
|
|
425
|
+
|
|
426
|
+
### 权限错误
|
|
427
|
+
|
|
428
|
+
确保你对目标目录有写权限。
|
|
429
|
+
|
|
430
|
+
## 环境变量
|
|
431
|
+
|
|
432
|
+
| 变量 | 说明 |
|
|
433
|
+
| ------------------------ | ------------------------------------------------------------- |
|
|
434
|
+
| `INSTALL_INTERNAL_SKILLS` | 设为 `1` 或 `true` 以显示和安装标记为 `internal: true` 的 skills |
|
|
435
|
+
| `DISABLE_TELEMETRY` | 设为 `1` 禁用匿名使用量遥测 |
|
|
436
|
+
| `DO_NOT_TRACK` | 禁用遥测的替代方式 |
|
|
437
|
+
| `GITHUB_PROXY_URL` | 自定义 GitHub 代理 URL(默认:`https://bgithub.xyz`) |
|
|
438
|
+
| `GITHUB_RAW_PROXY_URL` | 自定义 GitHub raw 代理 URL(默认:`https://raw.bgithub.xyz`) |
|
|
439
|
+
| `GITHUB_API_PROXY_URL` | 自定义 GitHub API 代理 URL(默认:`https://api.bgithub.com`) |
|
|
440
|
+
|
|
441
|
+
```bash
|
|
442
|
+
# 安装内部 skills
|
|
443
|
+
INSTALL_INTERNAL_SKILLS=1 npx skills-cn add vercel-labs/agent-skills --list
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
## 遥测
|
|
447
|
+
|
|
448
|
+
此 CLI 收集匿名使用数据以帮助改进工具。不收集任何个人信息。
|
|
449
|
+
|
|
450
|
+
CI 环境中会自动禁用遥测。
|
|
451
|
+
|
|
452
|
+
## 相关链接
|
|
453
|
+
|
|
454
|
+
- [Agent Skills 规范](https://agentskills.io)
|
|
455
|
+
- [Skills 目录](https://skills.sh)
|
|
456
|
+
- [Amp Skills 文档](https://ampcode.com/manual#agent-skills)
|
|
457
|
+
- [Antigravity Skills 文档](https://antigravity.google/docs/skills)
|
|
458
|
+
- [Factory AI / Droid Skills 文档](https://docs.factory.ai/cli/configuration/skills)
|
|
459
|
+
- [Claude Code Skills 文档](https://code.claude.com/docs/en/skills)
|
|
460
|
+
- [OpenClaw Skills 文档](https://docs.openclaw.ai/tools/skills)
|
|
461
|
+
- [Cline Skills 文档](https://docs.cline.bot/features/skills)
|
|
462
|
+
- [CodeBuddy Skills 文档](https://www.codebuddy.ai/docs/ide/Features/Skills)
|
|
463
|
+
- [Codex Skills 文档](https://developers.openai.com/codex/skills)
|
|
464
|
+
- [Command Code Skills 文档](https://commandcode.ai/docs/skills)
|
|
465
|
+
- [Crush Skills 文档](https://github.com/charmbracelet/crush?tab=readme-ov-file#agent-skills)
|
|
466
|
+
- [Cursor Skills 文档](https://cursor.com/docs/context/skills)
|
|
467
|
+
- [Firebender Skills 文档](https://docs.firebender.com/multi-agent/skills)
|
|
468
|
+
- [Gemini CLI Skills 文档](https://geminicli.com/docs/cli/skills/)
|
|
469
|
+
- [GitHub Copilot Agent Skills](https://docs.github.com/en/copilot/concepts/agents/about-agent-skills)
|
|
470
|
+
- [iFlow CLI Skills 文档](https://platform.iflow.cn/en/cli/examples/skill)
|
|
471
|
+
- [Kimi Code CLI Skills 文档](https://moonshotai.github.io/kimi-cli/en/customization/skills.html)
|
|
472
|
+
- [Kiro CLI Skills 文档](https://kiro.dev/docs/cli/custom-agents/configuration-reference/#skill-resources)
|
|
473
|
+
- [Kode Skills 文档](https://github.com/shareAI-lab/kode/blob/main/docs/skills.md)
|
|
474
|
+
- [OpenCode Skills 文档](https://opencode.ai/docs/skills)
|
|
475
|
+
- [Qwen Code Skills 文档](https://qwenlm.github.io/qwen-code-docs/en/users/features/skills/)
|
|
476
|
+
- [OpenHands Skills 文档](https://docs.openhands.ai/modules/usage/how-to/using-skills)
|
|
477
|
+
- [Pi Skills 文档](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/skills.md)
|
|
478
|
+
- [Qoder Skills 文档](https://docs.qoder.com/cli/Skills)
|
|
479
|
+
- [Replit Skills 文档](https://docs.replit.com/replitai/skills)
|
|
480
|
+
- [Roo Code Skills 文档](https://docs.roocode.com/features/skills)
|
|
481
|
+
- [Trae Skills 文档](https://docs.trae.ai/ide/skills)
|
|
482
|
+
- [Vercel Agent Skills 仓库](https://github.com/vercel-labs/agent-skills)
|
|
483
|
+
|
|
484
|
+
## 致谢
|
|
485
|
+
|
|
486
|
+
本项目基于 [vercel-labs/skills](https://github.com/vercel-labs/skills) 开发,专门为解决中国大陆用户访问 GitHub 的网络问题而添加了 bgithub.xyz 代理支持。
|
|
487
|
+
|
|
488
|
+
## 许可证
|
|
489
|
+
|
|
490
|
+
MIT
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/*!----------------- Skills CLI ThirdPartyNotices -------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
The Skills CLI incorporates third party material from the projects listed below.
|
|
4
|
+
The original copyright notice and the license under which this material was received
|
|
5
|
+
are set forth below. These licenses and notices are provided for informational purposes only.
|
|
6
|
+
|
|
7
|
+
---------------------------------------------
|
|
8
|
+
Third Party Code Components
|
|
9
|
+
--------------------------------------------
|
|
10
|
+
|
|
11
|
+
================================================================================
|
|
12
|
+
Package: @clack/prompts@0.11.0
|
|
13
|
+
License: MIT
|
|
14
|
+
Repository: https://github.com/bombshell-dev/clack
|
|
15
|
+
--------------------------------------------------------------------------------
|
|
16
|
+
|
|
17
|
+
MIT License
|
|
18
|
+
|
|
19
|
+
Copyright (c) Nate Moore
|
|
20
|
+
|
|
21
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
22
|
+
|
|
23
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
24
|
+
|
|
25
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
================================================================================
|
|
29
|
+
Package: picocolors@1.1.1
|
|
30
|
+
License: ISC
|
|
31
|
+
Repository: https://github.com/alexeyraspopov/picocolors
|
|
32
|
+
--------------------------------------------------------------------------------
|
|
33
|
+
|
|
34
|
+
ISC License
|
|
35
|
+
|
|
36
|
+
Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov
|
|
37
|
+
|
|
38
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
39
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
40
|
+
copyright notice and this permission notice appear in all copies.
|
|
41
|
+
|
|
42
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
43
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
44
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
45
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
46
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
47
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
48
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
================================================================================
|
|
52
|
+
Package: simple-git@3.30.0
|
|
53
|
+
License: MIT
|
|
54
|
+
Repository: https://github.com/steveukx/git-js
|
|
55
|
+
--------------------------------------------------------------------------------
|
|
56
|
+
|
|
57
|
+
MIT License
|
|
58
|
+
|
|
59
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
60
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
61
|
+
in the Software without restriction, including without limitation the rights
|
|
62
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
63
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
64
|
+
furnished to do so, subject to the following conditions:
|
|
65
|
+
|
|
66
|
+
The above copyright notice and this permission notice shall be included in all
|
|
67
|
+
copies or substantial portions of the Software.
|
|
68
|
+
|
|
69
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
70
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
71
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
72
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
73
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
74
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
75
|
+
SOFTWARE.
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
================================================================================
|
|
79
|
+
Package: xdg-basedir@5.1.0
|
|
80
|
+
License: MIT
|
|
81
|
+
Repository: https://github.com/sindresorhus/xdg-basedir
|
|
82
|
+
--------------------------------------------------------------------------------
|
|
83
|
+
|
|
84
|
+
MIT License
|
|
85
|
+
|
|
86
|
+
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
87
|
+
|
|
88
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
89
|
+
|
|
90
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
91
|
+
|
|
92
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
================================================================================
|
|
96
|
+
Package: yaml@2.8.3
|
|
97
|
+
License: ISC
|
|
98
|
+
Repository: https://github.com/eemeli/yaml
|
|
99
|
+
--------------------------------------------------------------------------------
|
|
100
|
+
|
|
101
|
+
Copyright Eemeli Aro <eemeli@gmail.com>
|
|
102
|
+
|
|
103
|
+
Permission to use, copy, modify, and/or distribute this software for any purpose
|
|
104
|
+
with or without fee is hereby granted, provided that the above copyright notice
|
|
105
|
+
and this permission notice appear in all copies.
|
|
106
|
+
|
|
107
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
108
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
109
|
+
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
110
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
|
111
|
+
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
112
|
+
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
|
|
113
|
+
THIS SOFTWARE.
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
================================================================================
|
|
117
|
+
*/
|
package/bin/cli.mjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import module from 'node:module';
|
|
4
|
+
|
|
5
|
+
// https://nodejs.org/api/module.html#module-compile-cache
|
|
6
|
+
if (module.enableCompileCache && !process.env.NODE_DISABLE_COMPILE_CACHE) {
|
|
7
|
+
try {
|
|
8
|
+
module.enableCompileCache();
|
|
9
|
+
} catch {
|
|
10
|
+
// Ignore errors
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
await import('../dist/cli.mjs');
|