skills 1.7.2 → 1.7.4

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.
@@ -0,0 +1,345 @@
1
+ # CLI reference
2
+
3
+ [Back to the README](../README.md)
4
+
5
+ Run commands with `npx skills <command>`. For all available options, run `npx skills --help`.
6
+
7
+ ## `skills add`
8
+
9
+ Install skills from a repository, URL, or local directory:
10
+
11
+ ```bash
12
+ npx skills add vercel-labs/agent-skills
13
+ ```
14
+
15
+ ### Source Formats
16
+
17
+ ```bash
18
+ # GitHub shorthand (owner/repo)
19
+ npx skills add vercel-labs/agent-skills
20
+
21
+ # Full GitHub URL
22
+ npx skills add https://github.com/vercel-labs/agent-skills
23
+
24
+ # Direct path to a skill in a repo
25
+ npx skills add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
26
+
27
+ # GitLab URL
28
+ npx skills add https://gitlab.com/org/repo
29
+
30
+ # Azure Repos (Azure DevOps Services or Server)
31
+ npx skills add https://dev.azure.com/org/project/_git/repo
32
+ npx skills add https://dev.azure.com/org/project/_git/repo?path=/skills/web-design&version=GBmain
33
+
34
+ # Any git URL
35
+ npx skills add git@github.com:vercel-labs/agent-skills.git
36
+
37
+ # Local path
38
+ npx skills add ./my-local-skills
39
+ ```
40
+
41
+ ### Private Repositories
42
+
43
+ Use the same command for public and private repositories. The CLI uses the authentication already configured for the repository URL:
44
+
45
+ ```bash
46
+ # GitHub shorthand or HTTPS (Git credential helper, GitHub CLI, then SSH fallback)
47
+ npx skills add acme/private-skills
48
+
49
+ # SSH on GitHub, GitLab, or another Git host
50
+ npx skills add git@github.com:acme/private-skills.git
51
+ npx skills add ssh://git@git.example.com/acme/private-skills.git
52
+
53
+ # HTTPS on any Git host (uses your configured Git credential helper)
54
+ npx skills add https://git.example.com/acme/private-skills.git
55
+ npx skills add https://dev.azure.com/org/project/_git/private-skills
56
+ ```
57
+
58
+ For GitHub HTTPS and shorthand sources, `skills` first uses normal Git credentials. If that fails and GitHub CLI is authenticated, it tries `gh repo clone`, followed by SSH. It does not execute `gh auth token` or copy the stored GitHub CLI credential into the Node.js process.
59
+
60
+ For GitHub tree lookups, `skills` first tries the API anonymously, then an explicitly supplied environment token, then `gh api`. GitHub CLI applies its own stored authentication and returns only the API response; the credential is never printed to or read by `skills`. If API access still fails, update checks fall back to an authenticated Git clone.
61
+
62
+ `GITHUB_TOKEN` or `GH_TOKEN` can be set explicitly for GitHub API access, including private repository downloads and update checks. They are optional for installs when Git, GitHub CLI, or SSH authentication is already configured.
63
+
64
+ ### Options
65
+
66
+ | Option | Description |
67
+ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
68
+ | `-g, --global` | Install to user directory instead of project |
69
+ | `-a, --agent <agents...>` | <!-- agent-names:start -->Target specific agents (e.g., `claude-code`, `codex`). See [Supported Agents](agents.md#supported-agents)<!-- agent-names:end --> |
70
+ | `-s, --skill <skills...>` | Install specific skills by name (use `'*'` for all skills) |
71
+ | `-l, --list` | List available skills without installing |
72
+ | `--copy` | Copy files instead of symlinking to agent directories |
73
+ | `-y, --yes` | Skip all confirmation prompts |
74
+ | `--all` | Install all skills to all agents without prompts |
75
+
76
+ ### Examples
77
+
78
+ ```bash
79
+ # List skills in a repository
80
+ npx skills add vercel-labs/agent-skills --list
81
+
82
+ # Install specific skills
83
+ npx skills add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
84
+
85
+ # Install a skill with spaces in the name (must be quoted)
86
+ npx skills add owner/repo --skill "Convex Best Practices"
87
+
88
+ # Install to specific agents
89
+ npx skills add vercel-labs/agent-skills -a claude-code -a opencode
90
+
91
+ # Non-interactive installation (CI/CD friendly)
92
+ npx skills add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y
93
+
94
+ # Install all skills from a repo to all agents
95
+ npx skills add vercel-labs/agent-skills --all
96
+
97
+ # Install all skills to specific agents
98
+ npx skills add vercel-labs/agent-skills --skill '*' -a claude-code
99
+
100
+ # Install specific skills to all agents
101
+ npx skills add vercel-labs/agent-skills --agent '*' --skill frontend-design
102
+
103
+ # Install from a direct SKILL.md or archive download URL
104
+ npx skills add https://example.com/download/my-skill
105
+ ```
106
+
107
+ Direct download URLs are tried after well-known discovery. They may point to a single valid `SKILL.md` file or a `.zip`, `.tar`, `.tar.gz`, or `.tgz` archive; the URL does not need to include a file extension. Downloads are limited to 10 MiB, extracted content to 25 MiB, and archives to 1000 files by default. Override with `SKILLS_DOWNLOAD_MAX_BYTES`, `SKILLS_EXTRACT_MAX_BYTES`, and `SKILLS_EXTRACT_MAX_FILES` when you trust the source.
108
+
109
+ ### Installation Scope
110
+
111
+ | Scope | Flag | Location | Use Case |
112
+ | ----------- | --------- | ------------------- | --------------------------------------------- |
113
+ | **Project** | (default) | `./<agent>/skills/` | Committed with your project, shared with team |
114
+ | **Global** | `-g` | `~/<agent>/skills/` | Available across all projects |
115
+
116
+ ### Installation Methods
117
+
118
+ When installing interactively, you can choose:
119
+
120
+ | Method | Description |
121
+ | ------------------------- | ------------------------------------------------------------------------------------------- |
122
+ | **Symlink** (Recommended) | Creates symlinks from each agent to a canonical copy. Single source of truth, easy updates. |
123
+ | **Copy** | Creates independent copies for each agent. Use when symlinks aren't supported. |
124
+
125
+ ## `skills use`
126
+
127
+ Generate a prompt for one skill, or start a supported coding agent interactively:
128
+
129
+ ```bash
130
+ npx skills use vercel-labs/agent-skills@web-design-guidelines | claude
131
+ npx skills use vercel-labs/agent-skills --skill web-design-guidelines --agent claude-code
132
+ ```
133
+
134
+ `skills use` resolves sources the same way as `skills add`, writes the selected skill files to a temporary directory, and prints only the generated prompt to stdout unless `--agent` is provided. With `--agent`, it starts one supported agent interactively with the generated prompt.
135
+
136
+ ## `skills list`
137
+
138
+ List all installed skills. Similar to `npm ls`.
139
+
140
+ ```bash
141
+ # List project installed skills
142
+ npx skills list
143
+
144
+ # List only global skills
145
+ npx skills ls -g
146
+
147
+ # Filter by specific agents
148
+ npx skills ls -a claude-code -a cursor
149
+ ```
150
+
151
+ ## `skills find`
152
+
153
+ Search for skills interactively or by keyword.
154
+
155
+ ```bash
156
+ # Interactive search (fzf-style)
157
+ npx skills find
158
+
159
+ # Search by keyword
160
+ npx skills find typescript
161
+
162
+ # Search across every repository owned by an organization or user
163
+ npx skills find react --owner vercel
164
+ ```
165
+
166
+ ## `skills check`
167
+
168
+ Check installed skills for available updates without reinstalling them:
169
+
170
+ ```bash
171
+ npx skills check
172
+ ```
173
+
174
+ ## `skills update`
175
+
176
+ ```bash
177
+ # Update all skills (interactive scope prompt)
178
+ npx skills update
179
+
180
+ # Update a single skill by name
181
+ npx skills update my-skill
182
+
183
+ # Update multiple specific skills
184
+ npx skills update frontend-design web-design-guidelines
185
+
186
+ # Update only global or project skills
187
+ npx skills update -g
188
+ npx skills update -p
189
+
190
+ # Non-interactive (auto-detects scope: project if in a project, else global)
191
+ npx skills update -y
192
+ ```
193
+
194
+ | Option | Description |
195
+ | --------------- | ------------------------------------------------------------------------- |
196
+ | `-g, --global` | Only update global skills |
197
+ | `-p, --project` | Only update project skills |
198
+ | `-y, --yes` | Skip scope prompt (auto-detect: project if in a project dir, else global) |
199
+ | `[skills...]` | Update specific skills by name instead of all |
200
+
201
+ ## `skills init`
202
+
203
+ ```bash
204
+ # Create SKILL.md in current directory
205
+ npx skills init
206
+
207
+ # Create a new skill in a subdirectory
208
+ npx skills init my-skill
209
+ ```
210
+
211
+ ## `skills remove`
212
+
213
+ Remove installed skills from agents.
214
+
215
+ ```bash
216
+ # Remove interactively (select from installed skills)
217
+ npx skills remove
218
+
219
+ # Remove all skills from an exact lock source
220
+ npx skills remove owner/repo
221
+
222
+ # Remove specific skill by name
223
+ npx skills remove web-design-guidelines
224
+
225
+ # Remove multiple skills
226
+ npx skills remove frontend-design web-design-guidelines
227
+
228
+ # Remove from global scope
229
+ npx skills remove --global web-design-guidelines
230
+
231
+ # Remove from specific agents only
232
+ npx skills remove --agent claude-code cursor my-skill
233
+
234
+ # Remove all installed skills without confirmation
235
+ npx skills remove --all
236
+
237
+ # Remove all skills from a specific agent
238
+ npx skills remove --skill '*' -a cursor
239
+
240
+ # Remove a specific skill from all agents
241
+ npx skills remove my-skill --agent '*'
242
+
243
+ # Use 'rm' alias
244
+ npx skills rm my-skill
245
+ ```
246
+
247
+ | Option | Description |
248
+ | -------------- | ------------------------------------------------ |
249
+ | `-g, --global` | Remove from global scope (~/) instead of project |
250
+ | `-a, --agent` | Remove from specific agents (use `'*'` for all) |
251
+ | `-s, --skill` | Specify skills to remove (use `'*'` for all) |
252
+ | `-y, --yes` | Skip confirmation prompts |
253
+ | `--all` | Shorthand for `--skill '*' --agent '*' -y` |
254
+
255
+ ## Experimental commands
256
+
257
+ These commands are still experimental. Their names, options, and behavior may change.
258
+
259
+ <a id="skills-sync"></a>
260
+
261
+ ### `skills experimental_sync`
262
+
263
+ Sync skills from npm packages and `package.json` declarations. `sync` remains
264
+ supported as a compatibility alias for users of skills@1.7.3.
265
+
266
+ Install a package that ships skills, then sync them into your project:
267
+
268
+ ```bash
269
+ npm install -D skills agent-browser
270
+ npx skills experimental_sync -y
271
+ ```
272
+
273
+ Sync reads installed dependencies declared in your project's `package.json`, including
274
+ `dependencies`, `devDependencies`, `optionalDependencies`, and `peerDependencies`.
275
+ It discovers a package's root `SKILL.md`, `skills/<name>/SKILL.md`, or
276
+ `dist/skills/<name>/SKILL.md` and links each skill into `.agents/skills/` and the
277
+ selected agent directories. The linked skill updates with the installed package.
278
+ Use `--copy` to copy files instead; copies require another sync after a package update.
279
+
280
+ The `.agents/skills/` directory is the shared location. Selecting Claude Code also
281
+ creates links under `.claude/skills/` pointing to the shared skills:
282
+
283
+ ```bash
284
+ npx skills experimental_sync -a claude-code -y
285
+ ```
286
+
287
+ Outside an agent, sync detects installed agents. When run inside a coding agent,
288
+ it targets that agent automatically unless you pass `-a` to select others.
289
+
290
+ Already downloaded remote skills are reused to create missing agent links without
291
+ fetching their source again. Packaged skills are relinked on every run.
292
+
293
+ To run sync after dependency installation, add a `prepare` script:
294
+
295
+ ```json
296
+ {
297
+ "scripts": {
298
+ "prepare": "skills experimental_sync -y"
299
+ }
300
+ }
301
+ ```
302
+
303
+ The project and its dependencies can also declare a `skills` array in `package.json`:
304
+
305
+ ```json
306
+ {
307
+ "skills": ["npm:agent-browser", "vercel-labs/agent-skills@web-design-guidelines"]
308
+ }
309
+ ```
310
+
311
+ An `npm:` entry references skills in an installed package. Other entries reference
312
+ Git sources and are fetched into the project. Pin a Git ref when you need reproducible
313
+ remote content. A package can publish this array as a shareable skill pack.
314
+ See the [field specification](https://github.com/antfu/skills-npm/blob/main/SPEC.md)
315
+ and [RFC](https://github.com/vercel-labs/skills/issues/2323) for the full proposal.
316
+
317
+ Sync tracks its skills in `skills-lock.json`, removes skills that are no longer
318
+ provided, and preserves skills installed separately with `skills add`.
319
+
320
+ | Option | Description |
321
+ | ------------------------- | ------------------------------------------------------------- |
322
+ | `-a, --agent <agents...>` | Select agent directories |
323
+ | `-y, --yes` | Skip confirmation prompts |
324
+ | `--dry-run` | Show the plan without installing or removing skills |
325
+ | `--copy` | Copy packaged skills instead of linking them |
326
+ | `--no-cleanup` | Keep skills that are no longer provided |
327
+ | `--no-remote` | Skip installing and removing remote skills |
328
+ | `--include <patterns...>` | Include skills by package or `package#skill` pattern |
329
+ | `--exclude <patterns...>` | Exclude skills by package or `package#skill` pattern |
330
+ | `-r, --recursive` | Also read dependencies of workspace packages |
331
+
332
+ The include/exclude filters apply to both packaged and remote skills. For remote
333
+ skills, the package pattern matches the package declaring the entry (`.` for the
334
+ project's own field). Eve always receives copies because it rewrites skill frontmatter.
335
+
336
+ ### Restore skills from the project lock file
337
+
338
+ ```bash
339
+ npx skills experimental_install
340
+ ```
341
+
342
+ Restore supported sources recorded in `skills-lock.json` into `.agents/skills/`.
343
+ Entries from npm packages are synced from the dependencies already on disk, so
344
+ install your npm dependencies before restoring. This command does not install
345
+ npm packages or create agent-specific links for restored skills.
@@ -0,0 +1,140 @@
1
+ # Creating skills
2
+
3
+ [Back to the README](../README.md)
4
+
5
+ Create a template with `npx skills init my-skill`, then edit its `SKILL.md`.
6
+
7
+ Skills are directories containing a `SKILL.md` file with YAML frontmatter:
8
+
9
+ ```markdown
10
+ ---
11
+ name: my-skill
12
+ description: What this skill does and when to use it
13
+ ---
14
+
15
+ # My Skill
16
+
17
+ Instructions for the agent to follow when this skill is activated.
18
+
19
+ ## When to Use
20
+
21
+ Describe the scenarios where this skill should be used.
22
+
23
+ ## Steps
24
+
25
+ 1. First, do this
26
+ 2. Then, do that
27
+ ```
28
+
29
+ ### Required Fields
30
+
31
+ - `name`: Unique identifier (lowercase, hyphens allowed)
32
+ - `description`: Brief explanation of what the skill does
33
+
34
+ ### Optional Fields
35
+
36
+ - `metadata.internal`: Set to `true` to hide the skill from normal discovery. Internal skills are only visible and
37
+ installable when `INSTALL_INTERNAL_SKILLS=1` is set. Useful for work-in-progress skills or skills meant only for
38
+ internal tooling.
39
+
40
+ ```markdown
41
+ ---
42
+ name: my-internal-skill
43
+ description: An internal skill not shown by default
44
+ metadata:
45
+ internal: true
46
+ ---
47
+ ```
48
+
49
+ ### Skill Discovery
50
+
51
+ The CLI searches for skills in these locations within a repository. Each
52
+ skill container directory is walked up to three levels deep, covering flat
53
+ layouts (`skills/<name>/SKILL.md`) and catalog layouts with one or two category
54
+ levels (`skills/<category>/<name>/SKILL.md` or
55
+ `skills/<category>/<category>/<name>/SKILL.md`). A `SKILL.md` discovered at a
56
+ shallower level shadows anything nested below it. Use `--full-depth` to also
57
+ discover `SKILL.md` files outside these container directories (e.g. under
58
+ `examples/` or `tests/`).
59
+
60
+ <!-- skill-discovery:start -->
61
+ - Root directory (if it contains `SKILL.md`)
62
+ - `skills/`
63
+ - `skills/.curated/`
64
+ - `skills/.experimental/`
65
+ - `skills/.system/`
66
+ - `.aider-desk/skills/`
67
+ - `.agents/skills/`
68
+ - `data/skills/`
69
+ - `.autohand/skills/`
70
+ - `.augment/skills/`
71
+ - `.bob/skills/`
72
+ - `.claude/skills/`
73
+ - `.codeartsdoer/skills/`
74
+ - `.codebuddy/skills/`
75
+ - `.codemaker/skills/`
76
+ - `.codestudio/skills/`
77
+ - `.commandcode/skills/`
78
+ - `.continue/skills/`
79
+ - `.cortex/skills/`
80
+ - `.crush/skills/`
81
+ - `.devin/skills/`
82
+ - `agent/skills/`
83
+ - `.forge/skills/`
84
+ - `.goose/skills/`
85
+ - `.grok/skills/`
86
+ - `.hermes/skills/`
87
+ - `.inferencesh/skills/`
88
+ - `.jazz/skills/`
89
+ - `.junie/skills/`
90
+ - `.iflow/skills/`
91
+ - `.kimchi/skills/`
92
+ - `.kiro/skills/`
93
+ - `.kode/skills/`
94
+ - `.lingma/skills/`
95
+ - `.mcpjam/skills/`
96
+ - `.minimax/skills/`
97
+ - `.vibe/skills/`
98
+ - `.moxby/skills/`
99
+ - `.mux/skills/`
100
+ - `.openhands/skills/`
101
+ - `.ona/skills/`
102
+ - `.posit/assistant/skills/`
103
+ - `.qoder/skills/`
104
+ - `.qwen/skills/`
105
+ - `.reasonix/skills/`
106
+ - `.rovodev/skills/`
107
+ - `.roo/skills/`
108
+ - `.tabnine/agent/skills/`
109
+ - `.terramind/skills/`
110
+ - `.tinycloud/skills/`
111
+ - `.trae/skills/`
112
+ - `.windsurf/skills/`
113
+ - `.zcode/skills/`
114
+ - `.zencoder/skills/`
115
+ - `.neovate/skills/`
116
+ - `.pochi/skills/`
117
+ - `.adal/skills/`
118
+ <!-- skill-discovery:end -->
119
+
120
+ ### Plugin Manifest Discovery
121
+
122
+ If `.claude-plugin/marketplace.json` or `.claude-plugin/plugin.json` exists, skills declared in those files are also discovered:
123
+
124
+ ```json
125
+ // .claude-plugin/marketplace.json
126
+ {
127
+ "metadata": { "pluginRoot": "./plugins" },
128
+ "plugins": [
129
+ {
130
+ "name": "my-plugin",
131
+ "source": "my-plugin",
132
+ "skills": ["./skills/review", "./skills/test"]
133
+ }
134
+ ]
135
+ }
136
+ ```
137
+
138
+ This enables compatibility with the [Claude Code plugin marketplace](https://code.claude.com/docs/en/plugin-marketplaces) ecosystem. Skill paths declared in a manifest are searched at their declared depth and are not subject to the bounded depth-3 catalog walk described above.
139
+
140
+ If no skills are found in standard locations, a recursive search is performed.
@@ -0,0 +1,40 @@
1
+ # Troubleshooting and configuration
2
+
3
+ [Back to the README](../README.md)
4
+
5
+ ## Troubleshooting
6
+
7
+ ### "No skills found"
8
+
9
+ Ensure the repository contains valid `SKILL.md` files with both `name` and `description` in the frontmatter.
10
+
11
+ ### Skill not loading in agent
12
+
13
+ - Verify the skill was installed to the correct path
14
+ - Check the agent's documentation for skill loading requirements
15
+ - Ensure the `SKILL.md` frontmatter is valid YAML
16
+
17
+ ### Permission errors
18
+
19
+ Ensure you have write access to the target directory.
20
+
21
+ ## Environment Variables
22
+
23
+ | Variable | Description |
24
+ | ------------------------- | -------------------------------------------------------------------------- |
25
+ | `INSTALL_INTERNAL_SKILLS` | Set to `1` or `true` to show and install skills marked as `internal: true` |
26
+ | `DISABLE_TELEMETRY` | Set to disable anonymous usage telemetry |
27
+ | `DO_NOT_TRACK` | Alternative way to disable telemetry |
28
+ | `GITHUB_TOKEN` | Optional explicit token for authenticated GitHub API requests |
29
+ | `GH_TOKEN` | Fallback explicit token for authenticated GitHub API requests |
30
+
31
+ ```bash
32
+ # Install internal skills
33
+ INSTALL_INTERNAL_SKILLS=1 npx skills add vercel-labs/agent-skills --list
34
+ ```
35
+
36
+ ## Telemetry
37
+
38
+ This CLI collects anonymous usage data to help improve the tool. No personal information is collected.
39
+
40
+ GitHub repository and skill identifiers are sent only for repositories that GitHub positively confirms are public. Other remote source types may include source and skill identifiers in install telemetry because their visibility cannot be checked through GitHub. Security-audit requests remain limited to confirmed-public GitHub repositories. Set `DISABLE_TELEMETRY=1` or `DO_NOT_TRACK=1` to disable both entirely.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skills",
3
- "version": "1.7.2",
3
+ "version": "1.7.4",
4
4
  "description": "The open agent skills ecosystem",
5
5
  "type": "module",
6
6
  "bin": {
@@ -10,6 +10,7 @@
10
10
  "files": [
11
11
  "dist",
12
12
  "bin",
13
+ "docs",
13
14
  "README.md",
14
15
  "ThirdPartyNoticeText.txt"
15
16
  ],