@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/LICENSE
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
Copyright 2025 OpenSkills Contributors
|
|
6
|
+
|
|
7
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License.
|
|
9
|
+
You may obtain a copy of the License at
|
|
10
|
+
|
|
11
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
See the License for the specific language governing permissions and
|
|
17
|
+
limitations under the License.
|
package/README.md
ADDED
|
@@ -0,0 +1,638 @@
|
|
|
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
|
+
**The closest implementation matching Claude Code's skills system** — same prompt format, same marketplace, same folders, just using CLI instead of tools.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm i -g openskills
|
|
11
|
+
openskills install anthropics/skills
|
|
12
|
+
openskills sync
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
> **Found this useful?** Follow [@nummanali](https://x.com/nummanali) for more AI tooling!
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## What Is This?
|
|
20
|
+
|
|
21
|
+
OpenSkills brings **Anthropic's skills system** to all AI coding agents (Claude Code, Cursor, Windsurf, Aider).
|
|
22
|
+
|
|
23
|
+
**For Claude Code users:**
|
|
24
|
+
- Install skills from any GitHub repo, not just the marketplace
|
|
25
|
+
- Install from local paths or private git repos
|
|
26
|
+
- Share skills across multiple agents
|
|
27
|
+
- Version control your skills in your repo
|
|
28
|
+
- Symlink skills for local development
|
|
29
|
+
|
|
30
|
+
**For other agents (Cursor, Windsurf, Aider):**
|
|
31
|
+
- Get Claude Code's skills system universally
|
|
32
|
+
- Access Anthropic's marketplace skills via GitHub
|
|
33
|
+
- Use progressive disclosure (load skills on demand)
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## How It Matches Claude Code Exactly
|
|
38
|
+
|
|
39
|
+
OpenSkills replicates Claude Code's skills system with **100% compatibility**:
|
|
40
|
+
|
|
41
|
+
- ✅ **Same prompt format** — `<available_skills>` XML with skill tags
|
|
42
|
+
- ✅ **Same marketplace** — Install from [anthropics/skills](https://github.com/anthropics/skills)
|
|
43
|
+
- ✅ **Same folders** — Uses `.claude/skills/` by default
|
|
44
|
+
- ✅ **Same SKILL.md format** — YAML frontmatter + markdown instructions
|
|
45
|
+
- ✅ **Same progressive disclosure** — Load skills on demand, not upfront
|
|
46
|
+
|
|
47
|
+
**Only difference:** Claude Code uses `Skill` tool, OpenSkills uses `openskills read <name>` CLI command.
|
|
48
|
+
|
|
49
|
+
**Advanced:** Use `--universal` flag to install to `.agent/skills/` for Claude Code + other agents sharing one AGENTS.md.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Quick Start
|
|
54
|
+
|
|
55
|
+
### 1. Install
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm i -g openskills
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 2. Install Skills
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Install from Anthropic's marketplace (interactive selection, default: project install)
|
|
65
|
+
openskills install anthropics/skills
|
|
66
|
+
|
|
67
|
+
# Global install (shared across projects, installs to ~/.claude/skills)
|
|
68
|
+
openskills install anthropics/skills --global
|
|
69
|
+
|
|
70
|
+
# Or install from any GitHub repo
|
|
71
|
+
openskills install your-org/custom-skills
|
|
72
|
+
|
|
73
|
+
# Global install custom skills
|
|
74
|
+
openskills install your-org/custom-skills --global
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 3. Sync to AGENTS.md
|
|
78
|
+
|
|
79
|
+
_NOTE: You must have a pre-existing AGENTS.md file for sync to update._
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
openskills sync
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Done! Your agent now has skills with the same `<available_skills>` format as Claude Code.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## How It Works (Technical Deep Dive)
|
|
90
|
+
|
|
91
|
+
### Claude Code's Skills System
|
|
92
|
+
|
|
93
|
+
When you use Claude Code with skills installed, Claude's system prompt includes:
|
|
94
|
+
|
|
95
|
+
```xml
|
|
96
|
+
<skills_instructions>
|
|
97
|
+
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively.
|
|
98
|
+
|
|
99
|
+
How to use skills:
|
|
100
|
+
- Invoke skills using this tool with the skill name only (no arguments)
|
|
101
|
+
- When you invoke a skill, you will see <command-message>The "{name}" skill is loading</command-message>
|
|
102
|
+
- The skill's prompt will expand and provide detailed instructions
|
|
103
|
+
|
|
104
|
+
Important:
|
|
105
|
+
- Only use skills listed in <available_skills> below
|
|
106
|
+
- Do not invoke a skill that is already running
|
|
107
|
+
</skills_instructions>
|
|
108
|
+
|
|
109
|
+
<available_skills>
|
|
110
|
+
<skill>
|
|
111
|
+
<name>pdf</name>
|
|
112
|
+
<description>Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms...</description>
|
|
113
|
+
<location>plugin</location>
|
|
114
|
+
</skill>
|
|
115
|
+
|
|
116
|
+
<skill>
|
|
117
|
+
<name>xlsx</name>
|
|
118
|
+
<description>Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis...</description>
|
|
119
|
+
<location>plugin</location>
|
|
120
|
+
</skill>
|
|
121
|
+
</available_skills>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**How Claude uses it:**
|
|
125
|
+
1. User asks: "Extract data from this PDF"
|
|
126
|
+
2. Claude scans `<available_skills>` → finds "pdf" skill
|
|
127
|
+
3. Claude invokes: `Skill("pdf")`
|
|
128
|
+
4. SKILL.md content loads with detailed instructions
|
|
129
|
+
5. Claude follows instructions to complete task
|
|
130
|
+
|
|
131
|
+
### OpenSkills' System (Identical Format)
|
|
132
|
+
|
|
133
|
+
OpenSkills generates the **exact same** `<available_skills>` XML in your AGENTS.md:
|
|
134
|
+
|
|
135
|
+
```xml
|
|
136
|
+
<skills_system priority="1">
|
|
137
|
+
|
|
138
|
+
## Available Skills
|
|
139
|
+
|
|
140
|
+
<!-- SKILLS_TABLE_START -->
|
|
141
|
+
<usage>
|
|
142
|
+
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively.
|
|
143
|
+
|
|
144
|
+
How to use skills:
|
|
145
|
+
- Invoke: Bash("openskills read <skill-name>")
|
|
146
|
+
- The skill content will load with detailed instructions
|
|
147
|
+
- Base directory provided in output for resolving bundled resources
|
|
148
|
+
|
|
149
|
+
Usage notes:
|
|
150
|
+
- Only use skills listed in <available_skills> below
|
|
151
|
+
- Do not invoke a skill that is already loaded in your context
|
|
152
|
+
</usage>
|
|
153
|
+
|
|
154
|
+
<available_skills>
|
|
155
|
+
|
|
156
|
+
<skill>
|
|
157
|
+
<name>pdf</name>
|
|
158
|
+
<description>Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms...</description>
|
|
159
|
+
<location>project</location>
|
|
160
|
+
</skill>
|
|
161
|
+
|
|
162
|
+
<skill>
|
|
163
|
+
<name>xlsx</name>
|
|
164
|
+
<description>Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis...</description>
|
|
165
|
+
<location>project</location>
|
|
166
|
+
</skill>
|
|
167
|
+
|
|
168
|
+
</available_skills>
|
|
169
|
+
<!-- SKILLS_TABLE_END -->
|
|
170
|
+
|
|
171
|
+
</skills_system>
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**How agents use it:**
|
|
175
|
+
1. User asks: "Extract data from this PDF"
|
|
176
|
+
2. Agent scans `<available_skills>` → finds "pdf" skill
|
|
177
|
+
3. Agent invokes: `Bash("openskills read pdf")`
|
|
178
|
+
4. SKILL.md content is output to agent's context
|
|
179
|
+
5. Agent follows instructions to complete task
|
|
180
|
+
|
|
181
|
+
### Side-by-Side Comparison
|
|
182
|
+
|
|
183
|
+
| Aspect | Claude Code | OpenSkills |
|
|
184
|
+
|--------|-------------|------------|
|
|
185
|
+
| **System Prompt** | Built into Claude Code | In AGENTS.md |
|
|
186
|
+
| **Invocation** | `Skill("pdf")` tool | `openskills read pdf` CLI |
|
|
187
|
+
| **Prompt Format** | `<available_skills>` XML | `<available_skills>` XML (identical) |
|
|
188
|
+
| **Folder Structure** | `.claude/skills/` | `.claude/skills/` (identical) |
|
|
189
|
+
| **SKILL.md Format** | YAML + markdown | YAML + markdown (identical) |
|
|
190
|
+
| **Progressive Disclosure** | Yes | Yes |
|
|
191
|
+
| **Bundled Resources** | `references/`, `scripts/`, `assets/` | `references/`, `scripts/`, `assets/` (identical) |
|
|
192
|
+
| **Marketplace** | Anthropic marketplace | GitHub (anthropics/skills) |
|
|
193
|
+
|
|
194
|
+
**Everything is identical except the invocation method.**
|
|
195
|
+
|
|
196
|
+
### The SKILL.md Format
|
|
197
|
+
|
|
198
|
+
Both use the exact same format:
|
|
199
|
+
|
|
200
|
+
```markdown
|
|
201
|
+
---
|
|
202
|
+
name: pdf
|
|
203
|
+
description: Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms.
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
# PDF Skill Instructions
|
|
207
|
+
|
|
208
|
+
When the user asks you to work with PDFs, follow these steps:
|
|
209
|
+
|
|
210
|
+
1. Install dependencies: `pip install pypdf2`
|
|
211
|
+
2. Extract text using the extract_text.py script in scripts/
|
|
212
|
+
3. For bundled resources, use the base directory provided in the skill output
|
|
213
|
+
4. ...
|
|
214
|
+
|
|
215
|
+
[Detailed instructions that Claude/agent follows]
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**Progressive disclosure:** The full instructions load only when the skill is invoked, keeping your agent's context clean.
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Why CLI Instead of MCP?
|
|
223
|
+
|
|
224
|
+
**MCP (Model Context Protocol)** is Anthropic's protocol for connecting AI to external tools and data sources. It's great for:
|
|
225
|
+
- Database connections
|
|
226
|
+
- API integrations
|
|
227
|
+
- Real-time data fetching
|
|
228
|
+
- External service integration
|
|
229
|
+
|
|
230
|
+
**Skills (SKILL.md format)** are different — they're for:
|
|
231
|
+
- Specialized workflows (PDF manipulation, spreadsheet editing)
|
|
232
|
+
- Bundled resources (scripts, templates, references)
|
|
233
|
+
- Progressive disclosure (load instructions only when needed)
|
|
234
|
+
- Static, reusable patterns
|
|
235
|
+
|
|
236
|
+
**Why not implement skills via MCP?**
|
|
237
|
+
|
|
238
|
+
1. **Skills are static instructions, not dynamic tools**
|
|
239
|
+
MCP is for server-client connections. Skills are markdown files with instructions.
|
|
240
|
+
|
|
241
|
+
2. **No server needed**
|
|
242
|
+
Skills are just files. MCP requires running servers.
|
|
243
|
+
|
|
244
|
+
3. **Universal compatibility**
|
|
245
|
+
CLI works with any agent (Claude Code, Cursor, Windsurf, Aider). MCP requires MCP support.
|
|
246
|
+
|
|
247
|
+
4. **Follows Anthropic's design**
|
|
248
|
+
Anthropic created skills as SKILL.md files, not MCP servers. We're implementing their spec.
|
|
249
|
+
|
|
250
|
+
5. **Simpler for users**
|
|
251
|
+
`openskills install anthropics/skills` vs "configure MCP server, set up authentication, manage server lifecycle"
|
|
252
|
+
|
|
253
|
+
**MCP and skills solve different problems.** OpenSkills implements Anthropic's skills spec (SKILL.md format) the way it was designed — as progressively-loaded markdown instructions.
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## Claude Code Compatibility
|
|
258
|
+
|
|
259
|
+
You can use **both** Claude Code plugins and OpenSkills project skills together:
|
|
260
|
+
|
|
261
|
+
**In your `<available_skills>` list:**
|
|
262
|
+
```xml
|
|
263
|
+
<skill>
|
|
264
|
+
<name>pdf</name>
|
|
265
|
+
<description>...</description>
|
|
266
|
+
<location>plugin</location> <!-- Claude Code marketplace -->
|
|
267
|
+
</skill>
|
|
268
|
+
|
|
269
|
+
<skill>
|
|
270
|
+
<name>custom-skill</name>
|
|
271
|
+
<description>...</description>
|
|
272
|
+
<location>project</location> <!-- OpenSkills from GitHub -->
|
|
273
|
+
</skill>
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
They coexist perfectly. Claude invokes marketplace plugins via `Skill` tool, OpenSkills skills via CLI. No conflicts.
|
|
277
|
+
|
|
278
|
+
### Advanced: Universal Mode for Multi-Agent Setups
|
|
279
|
+
|
|
280
|
+
**Problem:** If you use Claude Code + other agents (Cursor, Windsurf, Aider) with one AGENTS.md, installing to `.claude/skills/` can create duplicates with Claude Code's marketplace plugins.
|
|
281
|
+
|
|
282
|
+
**Solution:** Use `--universal` to install to `.agent/skills/` instead:
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
openskills install anthropics/skills --universal
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
This installs skills to `.agent/skills/` which:
|
|
289
|
+
- ✅ Works with all agents via AGENTS.md
|
|
290
|
+
- ✅ Doesn't conflict with Claude Code's native marketplace plugins
|
|
291
|
+
- ✅ Keeps Claude Code's `<available_skills>` separate from AGENTS.md skills
|
|
292
|
+
|
|
293
|
+
**When to use:**
|
|
294
|
+
- ✅ You use Claude Code + Cursor/Windsurf/Aider with one AGENTS.md
|
|
295
|
+
- ✅ You want to avoid duplicate skill definitions
|
|
296
|
+
- ✅ You prefer `.agent/` for infrastructure (keeps `.claude/` for Claude Code only)
|
|
297
|
+
|
|
298
|
+
**When not to use:**
|
|
299
|
+
- ❌ You only use Claude Code (default `.claude/skills/` is fine)
|
|
300
|
+
- ❌ You only use non-Claude agents (default `.claude/skills/` is fine)
|
|
301
|
+
|
|
302
|
+
**Priority order:**
|
|
303
|
+
OpenSkills searches 4 locations in priority order:
|
|
304
|
+
1. `./.agent/skills/` (project universal)
|
|
305
|
+
2. `~/.agent/skills/` (global universal)
|
|
306
|
+
3. `./.claude/skills/` (project)
|
|
307
|
+
4. `~/.claude/skills/` (global)
|
|
308
|
+
|
|
309
|
+
Skills with same name only appear once (highest priority wins).
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Commands
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
openskills install <source> [options] # Install from GitHub, local path, or private repo
|
|
317
|
+
openskills sync [-y] [-o <path>] # Update AGENTS.md (or custom output)
|
|
318
|
+
openskills list # Show installed skills
|
|
319
|
+
openskills read <name> # Load skill (for agents)
|
|
320
|
+
openskills manage # Remove skills (interactive)
|
|
321
|
+
openskills remove <name> # Remove specific skill
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Flags
|
|
325
|
+
|
|
326
|
+
- `--global` — Install globally to `~/.claude/skills` (default: project install)
|
|
327
|
+
- `--universal` — Install to `.agent/skills/` instead of `.claude/skills/` (advanced)
|
|
328
|
+
- `-y, --yes` — Skip all prompts including overwrites (for scripts/CI)
|
|
329
|
+
- `-o, --output <path>` — Custom output file for sync (default: `.cursor/rules/AGENTS.md` if `.cursor` directory exists, otherwise `AGENTS.md`)
|
|
330
|
+
|
|
331
|
+
### Installation Modes
|
|
332
|
+
|
|
333
|
+
**Default (recommended) - Project install:**
|
|
334
|
+
```bash
|
|
335
|
+
openskills install anthropics/skills
|
|
336
|
+
# → Installs to ./.claude/skills (project local, gitignored)
|
|
337
|
+
# → Only available in current project
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
**Global install:**
|
|
341
|
+
```bash
|
|
342
|
+
openskills install anthropics/skills --global
|
|
343
|
+
# → Installs to ~/.claude/skills (user home directory)
|
|
344
|
+
# → Available in all projects
|
|
345
|
+
# → Good for installing common skills, avoiding duplicate installations
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
**When to use global install:**
|
|
349
|
+
- ✅ You want to use the same skills across multiple projects
|
|
350
|
+
- ✅ You want to install common base skills (like pdf, xlsx, etc.)
|
|
351
|
+
- ✅ You don't want to reinstall skills in every project
|
|
352
|
+
|
|
353
|
+
**When to use project install (default):**
|
|
354
|
+
- ✅ Project-specific skills
|
|
355
|
+
- ✅ Skills that need version control
|
|
356
|
+
- ✅ Team collaboration projects where skills should be managed with the project
|
|
357
|
+
|
|
358
|
+
**Universal mode (advanced):**
|
|
359
|
+
```bash
|
|
360
|
+
openskills install anthropics/skills --universal
|
|
361
|
+
# → Installs to ./.agent/skills (for Claude Code + other agents)
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Install from Local Paths
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
# Absolute path
|
|
368
|
+
openskills install /path/to/my-skill
|
|
369
|
+
|
|
370
|
+
# Relative path
|
|
371
|
+
openskills install ./local-skills/my-skill
|
|
372
|
+
|
|
373
|
+
# Home directory
|
|
374
|
+
openskills install ~/my-skills/custom-skill
|
|
375
|
+
|
|
376
|
+
# Install all skills from a directory
|
|
377
|
+
openskills install ./my-skills-folder
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
### Install from Private Git Repos
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
# SSH (uses your SSH keys)
|
|
384
|
+
openskills install git@github.com:your-org/private-skills.git
|
|
385
|
+
|
|
386
|
+
# HTTPS (may prompt for credentials)
|
|
387
|
+
openskills install https://github.com/your-org/private-skills.git
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
### Sync Options
|
|
391
|
+
|
|
392
|
+
```bash
|
|
393
|
+
# Sync to default path (.cursor/rules/AGENTS.md if .cursor directory exists, otherwise AGENTS.md)
|
|
394
|
+
openskills sync
|
|
395
|
+
|
|
396
|
+
# Sync to custom file (auto-creates if missing)
|
|
397
|
+
openskills sync --output .ruler/AGENTS.md
|
|
398
|
+
openskills sync -o custom-rules.md
|
|
399
|
+
|
|
400
|
+
# Non-interactive (for CI/CD)
|
|
401
|
+
openskills sync -y
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
**Default path behavior:**
|
|
405
|
+
- If `.cursor` directory exists in project root, defaults to `.cursor/rules/AGENTS.md` (for Cursor IDE)
|
|
406
|
+
- Otherwise, defaults to `AGENTS.md` in project root
|
|
407
|
+
|
|
408
|
+
### Interactive by Default
|
|
409
|
+
|
|
410
|
+
All commands use beautiful TUI by default:
|
|
411
|
+
|
|
412
|
+
**Install:**
|
|
413
|
+
```bash
|
|
414
|
+
openskills install anthropics/skills
|
|
415
|
+
# → Checkbox to select which skills to install
|
|
416
|
+
# → Shows skill name, description, size
|
|
417
|
+
# → All checked by default
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
**Sync:**
|
|
421
|
+
```bash
|
|
422
|
+
openskills sync
|
|
423
|
+
# → Checkbox to select which skills to include in AGENTS.md
|
|
424
|
+
# → Pre-selects skills already in AGENTS.md
|
|
425
|
+
# → Empty selection removes skills section
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
**Manage:**
|
|
429
|
+
```bash
|
|
430
|
+
openskills manage
|
|
431
|
+
# → Checkbox to select which skills to remove
|
|
432
|
+
# → Nothing checked by default (safe)
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
## Example Skills
|
|
438
|
+
|
|
439
|
+
From Anthropic's [skills repository](https://github.com/anthropics/skills):
|
|
440
|
+
|
|
441
|
+
- **xlsx** — Spreadsheet creation, editing, formulas, data analysis
|
|
442
|
+
- **docx** — Document creation with tracked changes and comments
|
|
443
|
+
- **pdf** — PDF manipulation (extract, merge, split, forms)
|
|
444
|
+
- **pptx** — Presentation creation and editing
|
|
445
|
+
- **canvas-design** — Create posters and visual designs
|
|
446
|
+
- **mcp-builder** — Build Model Context Protocol servers
|
|
447
|
+
- **skill-creator** — Detailed guide for authoring skills
|
|
448
|
+
|
|
449
|
+
Browse all: [github.com/anthropics/skills](https://github.com/anthropics/skills)
|
|
450
|
+
|
|
451
|
+
---
|
|
452
|
+
|
|
453
|
+
## Creating Your Own Skills
|
|
454
|
+
|
|
455
|
+
### Minimal Structure
|
|
456
|
+
|
|
457
|
+
```
|
|
458
|
+
my-skill/
|
|
459
|
+
└── SKILL.md
|
|
460
|
+
---
|
|
461
|
+
name: my-skill
|
|
462
|
+
description: What this does and when to use it
|
|
463
|
+
---
|
|
464
|
+
|
|
465
|
+
# Instructions in imperative form
|
|
466
|
+
|
|
467
|
+
When the user asks you to X, do Y...
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
### With Bundled Resources
|
|
471
|
+
|
|
472
|
+
```
|
|
473
|
+
my-skill/
|
|
474
|
+
├── SKILL.md
|
|
475
|
+
├── references/
|
|
476
|
+
│ └── api-docs.md # Supporting documentation
|
|
477
|
+
├── scripts/
|
|
478
|
+
│ └── process.py # Helper scripts
|
|
479
|
+
└── assets/
|
|
480
|
+
└── template.json # Templates, configs
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
In your SKILL.md, reference resources:
|
|
484
|
+
```markdown
|
|
485
|
+
1. Read the API documentation in references/api-docs.md
|
|
486
|
+
2. Run the process.py script from scripts/
|
|
487
|
+
3. Use the template from assets/template.json
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
The agent sees the base directory when loading the skill:
|
|
491
|
+
```
|
|
492
|
+
Loading: my-skill
|
|
493
|
+
Base directory: /path/to/.claude/skills/my-skill
|
|
494
|
+
|
|
495
|
+
[SKILL.md content]
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
### Publishing
|
|
499
|
+
|
|
500
|
+
1. Push to GitHub: `your-username/my-skill`
|
|
501
|
+
2. Users install with: `openskills install your-username/my-skill`
|
|
502
|
+
|
|
503
|
+
### Local Development with Symlinks
|
|
504
|
+
|
|
505
|
+
For active skill development, symlink your skill into the skills directory:
|
|
506
|
+
|
|
507
|
+
```bash
|
|
508
|
+
# Clone a skills repo you're developing
|
|
509
|
+
git clone git@github.com:your-org/my-skills.git ~/dev/my-skills
|
|
510
|
+
|
|
511
|
+
# Symlink into your project's skills directory
|
|
512
|
+
mkdir -p .claude/skills
|
|
513
|
+
ln -s ~/dev/my-skills/my-skill .claude/skills/my-skill
|
|
514
|
+
|
|
515
|
+
# Now changes to ~/dev/my-skills/my-skill are immediately reflected
|
|
516
|
+
openskills list # Shows my-skill
|
|
517
|
+
openskills sync # Includes my-skill in AGENTS.md
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
This approach lets you:
|
|
521
|
+
- Edit skills in your preferred location
|
|
522
|
+
- Keep skills under version control
|
|
523
|
+
- Test changes instantly without reinstalling
|
|
524
|
+
- Share skills across multiple projects via symlinks
|
|
525
|
+
|
|
526
|
+
### Authoring Guide
|
|
527
|
+
|
|
528
|
+
Use Anthropic's skill-creator for detailed guidance:
|
|
529
|
+
|
|
530
|
+
```bash
|
|
531
|
+
openskills install anthropics/skills
|
|
532
|
+
openskills read skill-creator
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
This loads comprehensive instructions on:
|
|
536
|
+
- Writing effective skill descriptions
|
|
537
|
+
- Structuring instructions for agents
|
|
538
|
+
- Using bundled resources
|
|
539
|
+
- Testing and iteration
|
|
540
|
+
|
|
541
|
+
---
|
|
542
|
+
|
|
543
|
+
## Development: Linking Tool Scripts
|
|
544
|
+
|
|
545
|
+
For developers working on OpenSkills, these scripts help install the project as a global tool for testing.
|
|
546
|
+
|
|
547
|
+
### Usage
|
|
548
|
+
|
|
549
|
+
**NPM shortcuts (recommended):**
|
|
550
|
+
```bash
|
|
551
|
+
# Install tool (link to global)
|
|
552
|
+
npm run link
|
|
553
|
+
|
|
554
|
+
# Uninstall tool (unlink from global)
|
|
555
|
+
npm run unlink
|
|
556
|
+
|
|
557
|
+
# Check status
|
|
558
|
+
npm run link:status
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
**Node.js script (cross-platform):**
|
|
562
|
+
```bash
|
|
563
|
+
# Install tool
|
|
564
|
+
node scripts/link-tool.js install
|
|
565
|
+
|
|
566
|
+
# Uninstall tool
|
|
567
|
+
node scripts/link-tool.js uninstall
|
|
568
|
+
|
|
569
|
+
# Check status
|
|
570
|
+
node scripts/link-tool.js status
|
|
571
|
+
|
|
572
|
+
# Show help
|
|
573
|
+
node scripts/link-tool.js help
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
**PowerShell script (Windows):**
|
|
577
|
+
```powershell
|
|
578
|
+
# Install tool
|
|
579
|
+
.\scripts\link-tool.ps1 install
|
|
580
|
+
|
|
581
|
+
# Uninstall tool
|
|
582
|
+
.\scripts\link-tool.ps1 uninstall
|
|
583
|
+
|
|
584
|
+
# Check status
|
|
585
|
+
.\scripts\link-tool.ps1 status
|
|
586
|
+
|
|
587
|
+
# Show help
|
|
588
|
+
.\scripts\link-tool.ps1 help
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
### Features
|
|
592
|
+
|
|
593
|
+
**Install (link):**
|
|
594
|
+
- Automatically checks if project is built, builds if needed
|
|
595
|
+
- Checks if already installed to avoid duplicate installation
|
|
596
|
+
- Creates global symlink, making `openskills` command available anywhere
|
|
597
|
+
|
|
598
|
+
**Uninstall (unlink):**
|
|
599
|
+
- Checks if installed to avoid unnecessary operations
|
|
600
|
+
- Removes global symlink
|
|
601
|
+
- Removes `openskills` command from system
|
|
602
|
+
|
|
603
|
+
**Status:**
|
|
604
|
+
- Shows project path and build directory
|
|
605
|
+
- Checks if CLI file is built
|
|
606
|
+
- Checks global link status
|
|
607
|
+
- Shows version information if installed
|
|
608
|
+
|
|
609
|
+
### Notes
|
|
610
|
+
|
|
611
|
+
1. **Before installing**: Ensure project is built (script will check and build automatically)
|
|
612
|
+
2. **After uninstalling**: `openskills` command will no longer be available
|
|
613
|
+
3. **Reinstalling**: If you need to reinstall, uninstall first then install
|
|
614
|
+
|
|
615
|
+
### How It Works
|
|
616
|
+
|
|
617
|
+
- **Install**: Uses `npm link` to create global symlink
|
|
618
|
+
- **Uninstall**: Uses `npm unlink -g` to remove global symlink
|
|
619
|
+
- **Status check**: Checks link status via `npm list -g`
|
|
620
|
+
|
|
621
|
+
---
|
|
622
|
+
|
|
623
|
+
## Requirements
|
|
624
|
+
|
|
625
|
+
- **Node.js** 20.6+ (for ora dependency)
|
|
626
|
+
- **Git** (for cloning repositories)
|
|
627
|
+
|
|
628
|
+
---
|
|
629
|
+
|
|
630
|
+
## License
|
|
631
|
+
|
|
632
|
+
Apache 2.0
|
|
633
|
+
|
|
634
|
+
## Attribution
|
|
635
|
+
|
|
636
|
+
Implements [Anthropic's Agent Skills](https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills) specification.
|
|
637
|
+
|
|
638
|
+
**Not affiliated with Anthropic.** Claude, Claude Code, and Agent Skills are trademarks of Anthropic, PBC.
|