@junxin367/openskills 2.0.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/LICENSE +17 -0
- package/README.md +638 -0
- package/README.zh-CN.md +669 -0
- package/dist/cli.js +1036 -0
- package/examples/my-first-skill/SKILL.md +61 -0
- package/examples/my-first-skill/references/skill-format.md +77 -0
- package/package.json +63 -0
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,669 @@
|
|
|
1
|
+
# OpenSkills
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/openskills)
|
|
4
|
+
[](https://www.npmjs.com/package/openskills)
|
|
5
|
+
[](https://opensource.org/licenses/Apache-2.0)
|
|
6
|
+
|
|
7
|
+
**最接近 Claude Code 技能系统的实现** — 相同的提示格式、相同的市场、相同的文件夹,只是使用 CLI 而不是工具。
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm i -g openskills
|
|
11
|
+
openskills install anthropics/skills
|
|
12
|
+
openskills sync
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
> **觉得有用?** 关注 [@nummanali](https://x.com/nummanali) 获取更多 AI 工具!
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 这是什么?
|
|
20
|
+
|
|
21
|
+
OpenSkills 将 **Anthropic 的技能系统** 带到所有 AI 编程助手(Claude Code、Cursor、Windsurf、Aider)。
|
|
22
|
+
|
|
23
|
+
**对于 Claude Code 用户:**
|
|
24
|
+
|
|
25
|
+
- 从任何 GitHub 仓库安装技能,不仅仅是市场
|
|
26
|
+
- 从本地路径或私有 git 仓库安装
|
|
27
|
+
- 在多个助手之间共享技能
|
|
28
|
+
- 在仓库中版本控制您的技能
|
|
29
|
+
- 使用符号链接进行本地开发
|
|
30
|
+
|
|
31
|
+
**对于其他助手(Cursor、Windsurf、Aider):**
|
|
32
|
+
|
|
33
|
+
- 通用地获得 Claude Code 的技能系统
|
|
34
|
+
- 通过 GitHub 访问 Anthropic 的市场技能
|
|
35
|
+
- 使用渐进式披露(按需加载技能)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 如何完全匹配 Claude Code
|
|
40
|
+
|
|
41
|
+
OpenSkills 以 **100% 兼容性** 复制 Claude Code 的技能系统:
|
|
42
|
+
|
|
43
|
+
- ✅ **相同的提示格式** — 带有技能标签的 `<available_skills>` XML
|
|
44
|
+
- ✅ **相同的市场** — 从 [anthropics/skills](https://github.com/anthropics/skills) 安装
|
|
45
|
+
- ✅ **相同的文件夹** — 默认使用 `.claude/skills/`
|
|
46
|
+
- ✅ **相同的 SKILL.md 格式** — YAML 前置元数据 + markdown 指令
|
|
47
|
+
- ✅ **相同的渐进式披露** — 按需加载技能,而不是预先加载
|
|
48
|
+
|
|
49
|
+
**唯一区别:** Claude Code 使用 `Skill` 工具,OpenSkills 使用 `openskills read <name>` CLI 命令。
|
|
50
|
+
|
|
51
|
+
**高级:** 使用 `--universal` 标志安装到 `.agent/skills/`,适用于 Claude Code + 其他共享一个 AGENTS.md 的助手。
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 快速开始
|
|
56
|
+
|
|
57
|
+
### 1. 安装
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm i -g openskills
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 2. 安装技能
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# 从 Anthropic 市场安装(交互式选择,默认:项目安装)
|
|
67
|
+
openskills install anthropics/skills
|
|
68
|
+
|
|
69
|
+
# 全局安装(跨项目共享,安装到 ~/.claude/skills)
|
|
70
|
+
openskills install anthropics/skills --global
|
|
71
|
+
|
|
72
|
+
# 或从任何 GitHub 仓库安装
|
|
73
|
+
openskills install your-org/custom-skills
|
|
74
|
+
|
|
75
|
+
# 全局安装自定义技能
|
|
76
|
+
openskills install your-org/custom-skills --global
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 3. 同步到 AGENTS.md
|
|
80
|
+
|
|
81
|
+
_注意:您必须有一个预先存在的 AGENTS.md 文件才能进行同步更新。_
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
openskills sync
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
完成!您的助手现在拥有与 Claude Code 相同的 `<available_skills>` 格式的技能。
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 工作原理(技术深入)
|
|
92
|
+
|
|
93
|
+
### Claude Code 的技能系统
|
|
94
|
+
|
|
95
|
+
当您使用安装了技能的 Claude Code 时,Claude 的系统提示包括:
|
|
96
|
+
|
|
97
|
+
```xml
|
|
98
|
+
<skills_instructions>
|
|
99
|
+
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively.
|
|
100
|
+
|
|
101
|
+
How to use skills:
|
|
102
|
+
- Invoke skills using this tool with the skill name only (no arguments)
|
|
103
|
+
- When you invoke a skill, you will see <command-message>The "{name}" skill is loading</command-message>
|
|
104
|
+
- The skill's prompt will expand and provide detailed instructions
|
|
105
|
+
|
|
106
|
+
Important:
|
|
107
|
+
- Only use skills listed in <available_skills> below
|
|
108
|
+
- Do not invoke a skill that is already running
|
|
109
|
+
</skills_instructions>
|
|
110
|
+
|
|
111
|
+
<available_skills>
|
|
112
|
+
<skill>
|
|
113
|
+
<name>pdf</name>
|
|
114
|
+
<description>Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms...</description>
|
|
115
|
+
<location>plugin</location>
|
|
116
|
+
</skill>
|
|
117
|
+
|
|
118
|
+
<skill>
|
|
119
|
+
<name>xlsx</name>
|
|
120
|
+
<description>Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis...</description>
|
|
121
|
+
<location>plugin</location>
|
|
122
|
+
</skill>
|
|
123
|
+
</available_skills>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Claude 如何使用它:**
|
|
127
|
+
|
|
128
|
+
1. 用户询问:"从这个 PDF 中提取数据"
|
|
129
|
+
2. Claude 扫描 `<available_skills>` → 找到 "pdf" 技能
|
|
130
|
+
3. Claude 调用:`Skill("pdf")`
|
|
131
|
+
4. SKILL.md 内容加载并提供详细指令
|
|
132
|
+
5. Claude 按照指令完成任务
|
|
133
|
+
|
|
134
|
+
### OpenSkills 的系统(相同格式)
|
|
135
|
+
|
|
136
|
+
OpenSkills 在您的 AGENTS.md 中生成 **完全相同的** `<available_skills>` XML:
|
|
137
|
+
|
|
138
|
+
```xml
|
|
139
|
+
<skills_system priority="1">
|
|
140
|
+
|
|
141
|
+
## Available Skills
|
|
142
|
+
|
|
143
|
+
<!-- SKILLS_TABLE_START -->
|
|
144
|
+
<usage>
|
|
145
|
+
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively.
|
|
146
|
+
|
|
147
|
+
How to use skills:
|
|
148
|
+
- Invoke: Bash("openskills read <skill-name>")
|
|
149
|
+
- The skill content will load with detailed instructions
|
|
150
|
+
- Base directory provided in output for resolving bundled resources
|
|
151
|
+
|
|
152
|
+
Usage notes:
|
|
153
|
+
- Only use skills listed in <available_skills> below
|
|
154
|
+
- Do not invoke a skill that is already loaded in your context
|
|
155
|
+
</usage>
|
|
156
|
+
|
|
157
|
+
<available_skills>
|
|
158
|
+
|
|
159
|
+
<skill>
|
|
160
|
+
<name>pdf</name>
|
|
161
|
+
<description>Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms...</description>
|
|
162
|
+
<location>project</location>
|
|
163
|
+
</skill>
|
|
164
|
+
|
|
165
|
+
<skill>
|
|
166
|
+
<name>xlsx</name>
|
|
167
|
+
<description>Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis...</description>
|
|
168
|
+
<location>project</location>
|
|
169
|
+
</skill>
|
|
170
|
+
|
|
171
|
+
</available_skills>
|
|
172
|
+
<!-- SKILLS_TABLE_END -->
|
|
173
|
+
|
|
174
|
+
</skills_system>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**助手如何使用它:**
|
|
178
|
+
|
|
179
|
+
1. 用户询问:"从这个 PDF 中提取数据"
|
|
180
|
+
2. 助手扫描 `<available_skills>` → 找到 "pdf" 技能
|
|
181
|
+
3. 助手调用:`Bash("openskills read pdf")`
|
|
182
|
+
4. SKILL.md 内容输出到助手的上下文
|
|
183
|
+
5. 助手按照指令完成任务
|
|
184
|
+
|
|
185
|
+
### 并排比较
|
|
186
|
+
|
|
187
|
+
| 方面 | Claude Code | OpenSkills |
|
|
188
|
+
| ----------------- | ------------------------------------ | -------------------------------------------- |
|
|
189
|
+
| **系统提示** | 内置到 Claude Code | 在 AGENTS.md 中 |
|
|
190
|
+
| **调用方式** | `Skill("pdf")` 工具 | `openskills read pdf` CLI |
|
|
191
|
+
| **提示格式** | `<available_skills>` XML | `<available_skills>` XML(相同) |
|
|
192
|
+
| **文件夹结构** | `.claude/skills/` | `.claude/skills/`(相同) |
|
|
193
|
+
| **SKILL.md 格式** | YAML + markdown | YAML + markdown(相同) |
|
|
194
|
+
| **渐进式披露** | 是 | 是 |
|
|
195
|
+
| **捆绑资源** | `references/`、`scripts/`、`assets/` | `references/`、`scripts/`、`assets/`(相同) |
|
|
196
|
+
| **市场** | Anthropic 市场 | GitHub (anthropics/skills) |
|
|
197
|
+
|
|
198
|
+
**除了调用方法外,其他都完全相同。**
|
|
199
|
+
|
|
200
|
+
### SKILL.md 格式
|
|
201
|
+
|
|
202
|
+
两者使用完全相同的格式:
|
|
203
|
+
|
|
204
|
+
```markdown
|
|
205
|
+
---
|
|
206
|
+
name: pdf
|
|
207
|
+
description: Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms.
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
# PDF Skill Instructions
|
|
211
|
+
|
|
212
|
+
When the user asks you to work with PDFs, follow these steps:
|
|
213
|
+
|
|
214
|
+
1. Install dependencies: `pip install pypdf2`
|
|
215
|
+
2. Extract text using the extract_text.py script in scripts/
|
|
216
|
+
3. For bundled resources, use the base directory provided in the skill output
|
|
217
|
+
4. ...
|
|
218
|
+
|
|
219
|
+
[Detailed instructions that Claude/agent follows]
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**渐进式披露:** 完整的指令只在技能被调用时加载,保持助手的上下文清洁。
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## 为什么使用 CLI 而不是 MCP?
|
|
227
|
+
|
|
228
|
+
**MCP(模型上下文协议)** 是 Anthropic 用于将 AI 连接到外部工具和数据源的协议。它适用于:
|
|
229
|
+
|
|
230
|
+
- 数据库连接
|
|
231
|
+
- API 集成
|
|
232
|
+
- 实时数据获取
|
|
233
|
+
- 外部服务集成
|
|
234
|
+
|
|
235
|
+
**技能(SKILL.md 格式)** 是不同的 — 它们用于:
|
|
236
|
+
|
|
237
|
+
- 专门的工作流(PDF 操作、电子表格编辑)
|
|
238
|
+
- 捆绑资源(脚本、模板、参考资料)
|
|
239
|
+
- 渐进式披露(仅在需要时加载指令)
|
|
240
|
+
- 静态、可重用的模式
|
|
241
|
+
|
|
242
|
+
**为什么不通过 MCP 实现技能?**
|
|
243
|
+
|
|
244
|
+
1. **技能是静态指令,不是动态工具**
|
|
245
|
+
MCP 用于服务器-客户端连接。技能是带有指令的 markdown 文件。
|
|
246
|
+
|
|
247
|
+
2. **不需要服务器**
|
|
248
|
+
技能只是文件。MCP 需要运行服务器。
|
|
249
|
+
|
|
250
|
+
3. **通用兼容性**
|
|
251
|
+
CLI 适用于任何助手(Claude Code、Cursor、Windsurf、Aider)。MCP 需要 MCP 支持。
|
|
252
|
+
|
|
253
|
+
4. **遵循 Anthropic 的设计**
|
|
254
|
+
Anthropic 将技能创建为 SKILL.md 文件,而不是 MCP 服务器。我们正在实现他们的规范。
|
|
255
|
+
|
|
256
|
+
5. **对用户更简单**
|
|
257
|
+
`openskills install anthropics/skills` vs "配置 MCP 服务器、设置身份验证、管理服务器生命周期"
|
|
258
|
+
|
|
259
|
+
**MCP 和技能解决不同的问题。** OpenSkills 按照设计的方式实现 Anthropic 的技能规范(SKILL.md 格式)— 作为渐进式加载的 markdown 指令。
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Claude Code 兼容性
|
|
264
|
+
|
|
265
|
+
您可以 **同时** 使用 Claude Code 插件和 OpenSkills 项目技能:
|
|
266
|
+
|
|
267
|
+
**在您的 `<available_skills>` 列表中:**
|
|
268
|
+
|
|
269
|
+
```xml
|
|
270
|
+
<skill>
|
|
271
|
+
<name>pdf</name>
|
|
272
|
+
<description>...</description>
|
|
273
|
+
<location>plugin</location> <!-- Claude Code 市场 -->
|
|
274
|
+
</skill>
|
|
275
|
+
|
|
276
|
+
<skill>
|
|
277
|
+
<name>custom-skill</name>
|
|
278
|
+
<description>...</description>
|
|
279
|
+
<location>project</location> <!-- 来自 GitHub 的 OpenSkills -->
|
|
280
|
+
</skill>
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
它们完美共存。Claude 通过 `Skill` 工具调用市场插件,通过 CLI 调用 OpenSkills 技能。没有冲突。
|
|
284
|
+
|
|
285
|
+
### 高级:多助手设置的通用模式
|
|
286
|
+
|
|
287
|
+
**问题:** 如果您使用 Claude Code + 其他助手(Cursor、Windsurf、Aider)并共享一个 AGENTS.md,安装到 `.claude/skills/` 可能会与 Claude Code 的市场插件创建重复。
|
|
288
|
+
|
|
289
|
+
**解决方案:** 使用 `--universal` 安装到 `.agent/skills/` 代替:
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
openskills install anthropics/skills --universal
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
这将技能安装到 `.agent/skills/`,它:
|
|
296
|
+
|
|
297
|
+
- ✅ 通过 AGENTS.md 适用于所有助手
|
|
298
|
+
- ✅ 不与 Claude Code 的原生市场插件冲突
|
|
299
|
+
- ✅ 将 Claude Code 的 `<available_skills>` 与 AGENTS.md 技能分开
|
|
300
|
+
|
|
301
|
+
**何时使用:**
|
|
302
|
+
|
|
303
|
+
- ✅ 您使用 Claude Code + Cursor/Windsurf/Aider 并共享一个 AGENTS.md
|
|
304
|
+
- ✅ 您想避免重复的技能定义
|
|
305
|
+
- ✅ 您更喜欢 `.agent/` 用于基础设施(保持 `.claude/` 仅用于 Claude Code)
|
|
306
|
+
|
|
307
|
+
**何时不使用:**
|
|
308
|
+
|
|
309
|
+
- ❌ 您只使用 Claude Code(默认 `.claude/skills/` 即可)
|
|
310
|
+
- ❌ 您只使用非 Claude 助手(默认 `.claude/skills/` 即可)
|
|
311
|
+
|
|
312
|
+
**优先级顺序:**
|
|
313
|
+
OpenSkills 按优先级顺序搜索 4 个位置:
|
|
314
|
+
|
|
315
|
+
1. `./.agent/skills/`(项目通用)
|
|
316
|
+
2. `~/.agent/skills/`(全局通用)
|
|
317
|
+
3. `./.claude/skills/`(项目)
|
|
318
|
+
4. `~/.claude/skills/`(全局)
|
|
319
|
+
|
|
320
|
+
同名技能只出现一次(最高优先级获胜)。
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## 命令
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
openskills install <source> [options] # 从 GitHub、本地路径或私有仓库安装
|
|
328
|
+
openskills sync [-y] [-o <path>] # 更新 AGENTS.md(或自定义输出)
|
|
329
|
+
openskills list # 显示已安装的技能
|
|
330
|
+
openskills read <name> # 加载技能(供助手使用)
|
|
331
|
+
openskills manage # 管理技能(交互式删除)
|
|
332
|
+
openskills remove <name> # 删除特定技能
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### 标志
|
|
336
|
+
|
|
337
|
+
- `--global` — 全局安装到 `~/.claude/skills`(默认:项目安装)
|
|
338
|
+
- `--universal` — 安装到 `.agent/skills/` 而不是 `.claude/skills/`(高级)
|
|
339
|
+
- `-y, --yes` — 跳过所有提示,包括覆盖(用于脚本/CI)
|
|
340
|
+
- `-o, --output <path>` — 同步的自定义输出文件(默认:如果存在 `.cursor` 目录则使用 `.cursor/rules/AGENTS.md`,否则使用 `AGENTS.md`)
|
|
341
|
+
- `-v, --version` — 显示版本号
|
|
342
|
+
|
|
343
|
+
### 安装模式
|
|
344
|
+
|
|
345
|
+
**默认(推荐)- 项目安装:**
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
openskills install anthropics/skills
|
|
349
|
+
# → 安装到 ./.claude/skills(项目本地,gitignored)
|
|
350
|
+
# → 仅当前项目可用
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
**全局安装:**
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
openskills install anthropics/skills --global
|
|
357
|
+
# → 安装到 ~/.claude/skills(用户主目录)
|
|
358
|
+
# → 所有项目都可以使用
|
|
359
|
+
# → 适合安装常用技能,避免在每个项目中重复安装
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
**何时使用全局安装:**
|
|
363
|
+
|
|
364
|
+
- ✅ 您想在多个项目中使用相同的技能
|
|
365
|
+
- ✅ 您想安装常用的基础技能(如 pdf、xlsx 等)
|
|
366
|
+
- ✅ 您不想在每个项目中重复安装技能
|
|
367
|
+
|
|
368
|
+
**何时使用项目安装(默认):**
|
|
369
|
+
|
|
370
|
+
- ✅ 项目特定的技能
|
|
371
|
+
- ✅ 需要版本控制的技能
|
|
372
|
+
- ✅ 团队协作项目,技能应该随项目一起管理
|
|
373
|
+
|
|
374
|
+
**通用模式(高级):**
|
|
375
|
+
|
|
376
|
+
```bash
|
|
377
|
+
openskills install anthropics/skills --universal
|
|
378
|
+
# → 安装到 ./.agent/skills(适用于 Claude Code + 其他助手)
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
### 从本地路径安装
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
# 绝对路径
|
|
385
|
+
openskills install /path/to/my-skill
|
|
386
|
+
|
|
387
|
+
# 相对路径
|
|
388
|
+
openskills install ./local-skills/my-skill
|
|
389
|
+
|
|
390
|
+
# 主目录
|
|
391
|
+
openskills install ~/my-skills/custom-skill
|
|
392
|
+
|
|
393
|
+
# 从目录安装所有技能
|
|
394
|
+
openskills install ./my-skills-folder
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
### 从私有 Git 仓库安装
|
|
398
|
+
|
|
399
|
+
```bash
|
|
400
|
+
# SSH(使用您的 SSH 密钥)
|
|
401
|
+
openskills install git@github.com:your-org/private-skills.git
|
|
402
|
+
|
|
403
|
+
# HTTPS(可能提示输入凭据)
|
|
404
|
+
openskills install https://github.com/your-org/private-skills.git
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
### 同步选项
|
|
408
|
+
|
|
409
|
+
```bash
|
|
410
|
+
# 同步到默认路径(如果存在 .cursor 目录则使用 .cursor/rules/AGENTS.md,否则使用 AGENTS.md)
|
|
411
|
+
openskills sync
|
|
412
|
+
|
|
413
|
+
# 同步到自定义文件(如果缺失则自动创建)
|
|
414
|
+
openskills sync --output .ruler/AGENTS.md
|
|
415
|
+
openskills sync -o custom-rules.md
|
|
416
|
+
|
|
417
|
+
# 非交互式(用于 CI/CD)
|
|
418
|
+
openskills sync -y
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
**默认路径说明:**
|
|
422
|
+
|
|
423
|
+
- 如果项目根目录存在 `.cursor` 目录,默认输出到 `.cursor/rules/AGENTS.md`(适用于 Cursor IDE)
|
|
424
|
+
- 否则,默认输出到根目录的 `AGENTS.md`
|
|
425
|
+
|
|
426
|
+
### 默认交互式
|
|
427
|
+
|
|
428
|
+
所有命令默认使用美观的 TUI:
|
|
429
|
+
|
|
430
|
+
**安装:**
|
|
431
|
+
|
|
432
|
+
```bash
|
|
433
|
+
openskills install anthropics/skills
|
|
434
|
+
# → 复选框选择要安装的技能
|
|
435
|
+
# → 显示技能名称、描述、大小
|
|
436
|
+
# → 默认全部选中
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
**同步:**
|
|
440
|
+
|
|
441
|
+
```bash
|
|
442
|
+
openskills sync
|
|
443
|
+
# → 复选框选择要包含在 AGENTS.md 中的技能
|
|
444
|
+
# → 预选已在 AGENTS.md 中的技能
|
|
445
|
+
# → 空选择会删除技能部分
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
**管理:**
|
|
449
|
+
|
|
450
|
+
```bash
|
|
451
|
+
openskills manage
|
|
452
|
+
# → 复选框选择要删除的技能
|
|
453
|
+
# → 默认不选中任何内容(安全)
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
## 示例技能
|
|
459
|
+
|
|
460
|
+
来自 Anthropic 的[技能仓库](https://github.com/anthropics/skills):
|
|
461
|
+
|
|
462
|
+
- **xlsx** — 电子表格创建、编辑、公式、数据分析
|
|
463
|
+
- **docx** — 带跟踪更改和评论的文档创建
|
|
464
|
+
- **pdf** — PDF 操作(提取、合并、拆分、表单)
|
|
465
|
+
- **pptx** — 演示文稿创建和编辑
|
|
466
|
+
- **canvas-design** — 创建海报和视觉设计
|
|
467
|
+
- **mcp-builder** — 构建模型上下文协议服务器
|
|
468
|
+
- **skill-creator** — 编写技能的详细指南
|
|
469
|
+
|
|
470
|
+
浏览全部:[github.com/anthropics/skills](https://github.com/anthropics/skills)
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
## 创建您自己的技能
|
|
475
|
+
|
|
476
|
+
### 最小结构
|
|
477
|
+
|
|
478
|
+
```
|
|
479
|
+
my-skill/
|
|
480
|
+
└── SKILL.md
|
|
481
|
+
---
|
|
482
|
+
name: my-skill
|
|
483
|
+
description: What this does and when to use it
|
|
484
|
+
---
|
|
485
|
+
|
|
486
|
+
# Instructions in imperative form
|
|
487
|
+
|
|
488
|
+
When the user asks you to X, do Y...
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
### 带捆绑资源
|
|
492
|
+
|
|
493
|
+
```
|
|
494
|
+
my-skill/
|
|
495
|
+
├── SKILL.md
|
|
496
|
+
├── references/
|
|
497
|
+
│ └── api-docs.md # 支持文档
|
|
498
|
+
├── scripts/
|
|
499
|
+
│ └── process.py # 辅助脚本
|
|
500
|
+
└── assets/
|
|
501
|
+
└── template.json # 模板、配置
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
在您的 SKILL.md 中,引用资源:
|
|
505
|
+
|
|
506
|
+
```markdown
|
|
507
|
+
1. Read the API documentation in references/api-docs.md
|
|
508
|
+
2. Run the process.py script from scripts/
|
|
509
|
+
3. Use the template from assets/template.json
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
助手在加载技能时看到基础目录:
|
|
513
|
+
|
|
514
|
+
```
|
|
515
|
+
Loading: my-skill
|
|
516
|
+
Base directory: /path/to/.claude/skills/my-skill
|
|
517
|
+
|
|
518
|
+
[SKILL.md content]
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
### 发布
|
|
522
|
+
|
|
523
|
+
1. 推送到 GitHub:`your-username/my-skill`
|
|
524
|
+
2. 用户使用以下命令安装:`openskills install your-username/my-skill`
|
|
525
|
+
|
|
526
|
+
### 使用符号链接进行本地开发
|
|
527
|
+
|
|
528
|
+
对于活跃的技能开发,将您的技能符号链接到技能目录:
|
|
529
|
+
|
|
530
|
+
```bash
|
|
531
|
+
# 克隆您正在开发的技能仓库
|
|
532
|
+
git clone git@github.com:your-org/my-skills.git ~/dev/my-skills
|
|
533
|
+
|
|
534
|
+
# 符号链接到项目的技能目录
|
|
535
|
+
mkdir -p .claude/skills
|
|
536
|
+
ln -s ~/dev/my-skills/my-skill .claude/skills/my-skill
|
|
537
|
+
|
|
538
|
+
# 现在对 ~/dev/my-skills/my-skill 的更改会立即反映
|
|
539
|
+
openskills list # 显示 my-skill
|
|
540
|
+
openskills sync # 在 AGENTS.md 中包含 my-skill
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
这种方法让您可以:
|
|
544
|
+
|
|
545
|
+
- 在首选位置编辑技能
|
|
546
|
+
- 在版本控制下保持技能
|
|
547
|
+
- 无需重新安装即可立即测试更改
|
|
548
|
+
- 通过符号链接在多个项目之间共享技能
|
|
549
|
+
|
|
550
|
+
### 编写指南
|
|
551
|
+
|
|
552
|
+
使用 Anthropic 的 skill-creator 获取详细指导:
|
|
553
|
+
|
|
554
|
+
```bash
|
|
555
|
+
openskills install anthropics/skills
|
|
556
|
+
openskills read skill-creator
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
这将加载关于以下内容的全面指令:
|
|
560
|
+
|
|
561
|
+
- 编写有效的技能描述
|
|
562
|
+
- 为助手构建指令结构
|
|
563
|
+
- 使用捆绑资源
|
|
564
|
+
- 测试和迭代
|
|
565
|
+
|
|
566
|
+
---
|
|
567
|
+
|
|
568
|
+
## 开发:工具链接脚本
|
|
569
|
+
|
|
570
|
+
对于开发 OpenSkills 的开发者,这些脚本可以帮助将项目安装为全局工具以便测试。
|
|
571
|
+
|
|
572
|
+
### 使用方法
|
|
573
|
+
|
|
574
|
+
**NPM 快捷命令(推荐):**
|
|
575
|
+
|
|
576
|
+
```bash
|
|
577
|
+
# 安装工具(链接到全局)
|
|
578
|
+
npm run link
|
|
579
|
+
|
|
580
|
+
# 卸载工具(取消全局链接)
|
|
581
|
+
npm run unlink
|
|
582
|
+
|
|
583
|
+
# 查看状态
|
|
584
|
+
npm run link:status
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
**Node.js 脚本(跨平台):**
|
|
588
|
+
|
|
589
|
+
```bash
|
|
590
|
+
# 安装工具
|
|
591
|
+
node scripts/link-tool.js install
|
|
592
|
+
|
|
593
|
+
# 卸载工具
|
|
594
|
+
node scripts/link-tool.js uninstall
|
|
595
|
+
|
|
596
|
+
# 查看状态
|
|
597
|
+
node scripts/link-tool.js status
|
|
598
|
+
|
|
599
|
+
# 显示帮助
|
|
600
|
+
node scripts/link-tool.js help
|
|
601
|
+
```
|
|
602
|
+
|
|
603
|
+
**PowerShell 脚本(Windows):**
|
|
604
|
+
|
|
605
|
+
```powershell
|
|
606
|
+
# 安装工具
|
|
607
|
+
.\scripts\link-tool.ps1 install
|
|
608
|
+
|
|
609
|
+
# 卸载工具
|
|
610
|
+
.\scripts\link-tool.ps1 uninstall
|
|
611
|
+
|
|
612
|
+
# 查看状态
|
|
613
|
+
.\scripts\link-tool.ps1 status
|
|
614
|
+
|
|
615
|
+
# 显示帮助
|
|
616
|
+
.\scripts\link-tool.ps1 help
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
### 功能说明
|
|
620
|
+
|
|
621
|
+
**安装(link):**
|
|
622
|
+
|
|
623
|
+
- 自动检查项目是否已构建,如未构建会自动构建
|
|
624
|
+
- 检查是否已安装,避免重复安装
|
|
625
|
+
- 创建全局符号链接,使 `openskills` 命令在任意位置可用
|
|
626
|
+
|
|
627
|
+
**卸载(unlink):**
|
|
628
|
+
|
|
629
|
+
- 检查是否已安装,避免不必要的操作
|
|
630
|
+
- 移除全局符号链接
|
|
631
|
+
- 从系统中移除 `openskills` 命令
|
|
632
|
+
|
|
633
|
+
**状态(status):**
|
|
634
|
+
|
|
635
|
+
- 显示项目路径和构建目录
|
|
636
|
+
- 检查 CLI 文件是否已构建
|
|
637
|
+
- 检查全局链接状态
|
|
638
|
+
- 如果已安装,显示版本信息
|
|
639
|
+
|
|
640
|
+
### 注意事项
|
|
641
|
+
|
|
642
|
+
1. **安装前**:确保项目已构建(脚本会自动检查并构建)
|
|
643
|
+
2. **卸载后**:`openskills` 命令将不再可用
|
|
644
|
+
3. **重新安装**:如需重新安装,请先卸载再安装
|
|
645
|
+
|
|
646
|
+
### 工作原理
|
|
647
|
+
|
|
648
|
+
- **安装**:使用 `npm link` 创建全局符号链接
|
|
649
|
+
- **卸载**:使用 `npm unlink -g` 移除全局符号链接
|
|
650
|
+
- **状态检查**:通过 `npm list -g` 检查链接状态
|
|
651
|
+
|
|
652
|
+
---
|
|
653
|
+
|
|
654
|
+
## 要求
|
|
655
|
+
|
|
656
|
+
- **Node.js** 20.6+(用于 ora 依赖)
|
|
657
|
+
- **Git**(用于克隆仓库)
|
|
658
|
+
|
|
659
|
+
---
|
|
660
|
+
|
|
661
|
+
## 许可证
|
|
662
|
+
|
|
663
|
+
Apache 2.0
|
|
664
|
+
|
|
665
|
+
## 归属
|
|
666
|
+
|
|
667
|
+
实现 [Anthropic 的 Agent Skills](https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills) 规范。
|
|
668
|
+
|
|
669
|
+
**与 Anthropic 无关。** Claude、Claude Code 和 Agent Skills 是 Anthropic, PBC 的商标。
|