@voidagency/skills 1.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/README.md +502 -0
- package/ThirdPartyNoticeText.txt +12 -0
- package/bin/cli.mjs +14 -0
- package/dist/THIRD-PARTY-LICENSES.md +458 -0
- package/dist/_chunks/libs/@clack/core.mjs +773 -0
- package/dist/_chunks/libs/@clack/prompts.mjs +336 -0
- package/dist/_chunks/libs/@kwsites/file-exists.mjs +799 -0
- package/dist/_chunks/libs/@kwsites/promise-deferred.mjs +54 -0
- package/dist/_chunks/libs/esprima.mjs +5340 -0
- package/dist/_chunks/libs/extend-shallow.mjs +38 -0
- package/dist/_chunks/libs/gray-matter.mjs +2801 -0
- package/dist/_chunks/libs/simple-git.mjs +3611 -0
- package/dist/_chunks/libs/xdg-basedir.mjs +16 -0
- package/dist/_chunks/rolldown-runtime.mjs +26 -0
- package/dist/cli.d.mts +1 -0
- package/dist/cli.mjs +4730 -0
- package/package.json +112 -0
package/README.md
ADDED
|
@@ -0,0 +1,502 @@
|
|
|
1
|
+
# skills
|
|
2
|
+
|
|
3
|
+
The CLI for the open agent skills ecosystem.
|
|
4
|
+
|
|
5
|
+
<!-- agent-list:start -->
|
|
6
|
+
Supports **OpenCode**, **Claude Code**, **Codex**, **Cursor**, and [37 more](#available-agents).
|
|
7
|
+
<!-- agent-list:end -->
|
|
8
|
+
|
|
9
|
+
## Install a Skill
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx @voidagency/skills add vercel-labs/agent-skills
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Source Formats
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# GitHub shorthand (owner/repo)
|
|
19
|
+
npx @voidagency/skills add vercel-labs/agent-skills
|
|
20
|
+
|
|
21
|
+
# Full GitHub URL
|
|
22
|
+
npx @voidagency/skills add https://github.com/vercel-labs/agent-skills
|
|
23
|
+
|
|
24
|
+
# Direct path to a skill in a repo
|
|
25
|
+
npx @voidagency/skills add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
|
|
26
|
+
|
|
27
|
+
# GitLab URL
|
|
28
|
+
npx @voidagency/skills add https://gitlab.com/org/repo
|
|
29
|
+
|
|
30
|
+
# Any git URL
|
|
31
|
+
npx @voidagency/skills add git@github.com:vercel-labs/agent-skills.git
|
|
32
|
+
|
|
33
|
+
# Local path
|
|
34
|
+
npx @voidagency/skills add ./my-local-skills
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Options
|
|
38
|
+
|
|
39
|
+
| Option | Description |
|
|
40
|
+
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
41
|
+
| `-g, --global` | Install to user directory instead of project |
|
|
42
|
+
| `-a, --agent <agents...>` | <!-- agent-names:start -->Target specific agents (e.g., `claude-code`, `codex`). See [Available Agents](#available-agents)<!-- agent-names:end --> |
|
|
43
|
+
| `-s, --skill <skills...>` | Install specific skills by name (use `'*'` for all skills) |
|
|
44
|
+
| `-l, --list` | List available skills without installing |
|
|
45
|
+
| `--copy` | Copy files instead of symlinking to agent directories |
|
|
46
|
+
| `-y, --yes` | Skip all confirmation prompts |
|
|
47
|
+
| `--all` | Install all skills to all agents without prompts |
|
|
48
|
+
|
|
49
|
+
### Examples
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# List skills in a repository
|
|
53
|
+
npx @voidagency/skills add vercel-labs/agent-skills --list
|
|
54
|
+
|
|
55
|
+
# Install specific skills
|
|
56
|
+
npx @voidagency/skills add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
|
|
57
|
+
|
|
58
|
+
# Install a skill with spaces in the name (must be quoted)
|
|
59
|
+
npx @voidagency/skills add owner/repo --skill "Convex Best Practices"
|
|
60
|
+
|
|
61
|
+
# Install to specific agents
|
|
62
|
+
npx @voidagency/skills add vercel-labs/agent-skills -a claude-code -a opencode
|
|
63
|
+
|
|
64
|
+
# Non-interactive installation (CI/CD friendly)
|
|
65
|
+
npx @voidagency/skills add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y
|
|
66
|
+
|
|
67
|
+
# Install all skills from a repo to all agents
|
|
68
|
+
npx @voidagency/skills add vercel-labs/agent-skills --all
|
|
69
|
+
|
|
70
|
+
# Install all skills to specific agents
|
|
71
|
+
npx @voidagency/skills add vercel-labs/agent-skills --skill '*' -a claude-code
|
|
72
|
+
|
|
73
|
+
# Install specific skills to all agents
|
|
74
|
+
npx @voidagency/skills add vercel-labs/agent-skills --agent '*' --skill frontend-design
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Installation Scope
|
|
78
|
+
|
|
79
|
+
| Scope | Flag | Location | Use Case |
|
|
80
|
+
| ----------- | --------- | ------------------- | --------------------------------------------- |
|
|
81
|
+
| **Project** | (default) | `./<agent>/skills/` | Committed with your project, shared with team |
|
|
82
|
+
| **Global** | `-g` | `~/<agent>/skills/` | Available across all projects |
|
|
83
|
+
|
|
84
|
+
### Installation Methods
|
|
85
|
+
|
|
86
|
+
When installing interactively, you can choose:
|
|
87
|
+
|
|
88
|
+
| Method | Description |
|
|
89
|
+
| ------------------------- | ------------------------------------------------------------------------------------------- |
|
|
90
|
+
| **Symlink** (Recommended) | Creates symlinks from each agent to a canonical copy. Single source of truth, easy updates. |
|
|
91
|
+
| **Copy** | Creates independent copies for each agent. Use when symlinks aren't supported. |
|
|
92
|
+
|
|
93
|
+
## Other Commands
|
|
94
|
+
|
|
95
|
+
| Command | Description |
|
|
96
|
+
| ---------------------------- | ---------------------------------------------- |
|
|
97
|
+
| `npx @voidagency/skills list` | List installed skills (alias: `ls`) |
|
|
98
|
+
| `npx @voidagency/skills find [query]` | Search for skills interactively or by keyword |
|
|
99
|
+
| `npx @voidagency/skills remove [skills]` | Remove installed skills from agents |
|
|
100
|
+
| `npx @voidagency/skills check` | Check for available skill updates |
|
|
101
|
+
| `npx @voidagency/skills update` | Update all installed skills to latest versions |
|
|
102
|
+
| `npx @voidagency/skills init [name]` | Create a new SKILL.md template |
|
|
103
|
+
|
|
104
|
+
### `skills list`
|
|
105
|
+
|
|
106
|
+
List all installed skills. Similar to `npm ls`.
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# List all installed skills (project and global)
|
|
110
|
+
npx @voidagency/skills list
|
|
111
|
+
|
|
112
|
+
# List only global skills
|
|
113
|
+
npx @voidagency/skills ls -g
|
|
114
|
+
|
|
115
|
+
# Filter by specific agents
|
|
116
|
+
npx @voidagency/skills ls -a claude-code -a cursor
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### `skills find`
|
|
120
|
+
|
|
121
|
+
Search for skills interactively or by keyword.
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Interactive search (fzf-style)
|
|
125
|
+
npx @voidagency/skills find
|
|
126
|
+
|
|
127
|
+
# Search by keyword
|
|
128
|
+
npx @voidagency/skills find typescript
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### `skills check` / `skills update`
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Check if any installed skills have updates
|
|
135
|
+
npx @voidagency/skills check
|
|
136
|
+
|
|
137
|
+
# Update all skills to latest versions
|
|
138
|
+
npx @voidagency/skills update
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### `skills init`
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Create SKILL.md in current directory
|
|
145
|
+
npx @voidagency/skills init
|
|
146
|
+
|
|
147
|
+
# Create a new skill in a subdirectory
|
|
148
|
+
npx @voidagency/skills init my-skill
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### `skills remove`
|
|
152
|
+
|
|
153
|
+
Remove installed skills from agents.
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# Remove interactively (select from installed skills)
|
|
157
|
+
npx @voidagency/skills remove
|
|
158
|
+
|
|
159
|
+
# Remove specific skill by name
|
|
160
|
+
npx @voidagency/skills remove web-design-guidelines
|
|
161
|
+
|
|
162
|
+
# Remove multiple skills
|
|
163
|
+
npx @voidagency/skills remove frontend-design web-design-guidelines
|
|
164
|
+
|
|
165
|
+
# Remove from global scope
|
|
166
|
+
npx @voidagency/skills remove --global web-design-guidelines
|
|
167
|
+
|
|
168
|
+
# Remove from specific agents only
|
|
169
|
+
npx @voidagency/skills remove --agent claude-code cursor my-skill
|
|
170
|
+
|
|
171
|
+
# Remove all installed skills without confirmation
|
|
172
|
+
npx @voidagency/skills remove --all
|
|
173
|
+
|
|
174
|
+
# Remove all skills from a specific agent
|
|
175
|
+
npx @voidagency/skills remove --skill '*' -a cursor
|
|
176
|
+
|
|
177
|
+
# Remove a specific skill from all agents
|
|
178
|
+
npx @voidagency/skills remove my-skill --agent '*'
|
|
179
|
+
|
|
180
|
+
# Use 'rm' alias
|
|
181
|
+
npx @voidagency/skills rm my-skill
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
| Option | Description |
|
|
185
|
+
| -------------- | ------------------------------------------------ |
|
|
186
|
+
| `-g, --global` | Remove from global scope (~/) instead of project |
|
|
187
|
+
| `-a, --agent` | Remove from specific agents (use `'*'` for all) |
|
|
188
|
+
| `-s, --skill` | Specify skills to remove (use `'*'` for all) |
|
|
189
|
+
| `-y, --yes` | Skip confirmation prompts |
|
|
190
|
+
| `--all` | Shorthand for `--skill '*' --agent '*' -y` |
|
|
191
|
+
|
|
192
|
+
## What are Agent Skills?
|
|
193
|
+
|
|
194
|
+
Agent skills are reusable instruction sets that extend your coding agent's capabilities. They're defined in `SKILL.md`
|
|
195
|
+
files with YAML frontmatter containing a `name` and `description`.
|
|
196
|
+
|
|
197
|
+
Skills let agents perform specialized tasks like:
|
|
198
|
+
|
|
199
|
+
- Generating release notes from git history
|
|
200
|
+
- Creating PRs following your team's conventions
|
|
201
|
+
- Integrating with external tools (Linear, Notion, etc.)
|
|
202
|
+
|
|
203
|
+
Discover skills at your skills directory (or set SKILLS_API_URL for search)
|
|
204
|
+
|
|
205
|
+
## Supported Agents
|
|
206
|
+
|
|
207
|
+
Skills can be installed to any of these agents:
|
|
208
|
+
|
|
209
|
+
<!-- supported-agents:start -->
|
|
210
|
+
| Agent | `--agent` | Project Path | Global Path |
|
|
211
|
+
|-------|-----------|--------------|-------------|
|
|
212
|
+
| Amp, Kimi Code CLI, Replit, Universal | `amp`, `kimi-cli`, `replit`, `universal` | `.agents/skills/` | `~/.config/agents/skills/` |
|
|
213
|
+
| Antigravity | `antigravity` | `.agent/skills/` | `~/.gemini/antigravity/skills/` |
|
|
214
|
+
| Augment | `augment` | `.augment/skills/` | `~/.augment/skills/` |
|
|
215
|
+
| Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
|
|
216
|
+
| OpenClaw | `openclaw` | `skills/` | `~/.openclaw/skills/` |
|
|
217
|
+
| Cline | `cline` | `.agents/skills/` | `~/.agents/skills/` |
|
|
218
|
+
| CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~/.codebuddy/skills/` |
|
|
219
|
+
| Codex | `codex` | `.agents/skills/` | `~/.codex/skills/` |
|
|
220
|
+
| Command Code | `command-code` | `.commandcode/skills/` | `~/.commandcode/skills/` |
|
|
221
|
+
| Continue | `continue` | `.continue/skills/` | `~/.continue/skills/` |
|
|
222
|
+
| Cortex Code | `cortex` | `.cortex/skills/` | `~/.snowflake/cortex/skills/` |
|
|
223
|
+
| Crush | `crush` | `.crush/skills/` | `~/.config/crush/skills/` |
|
|
224
|
+
| Cursor | `cursor` | `.agents/skills/` | `~/.cursor/skills/` |
|
|
225
|
+
| Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
|
|
226
|
+
| Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
|
|
227
|
+
| GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
|
|
228
|
+
| Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
|
|
229
|
+
| Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
|
|
230
|
+
| iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
|
|
231
|
+
| Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
|
|
232
|
+
| Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
|
|
233
|
+
| Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
|
|
234
|
+
| MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
|
|
235
|
+
| Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
|
|
236
|
+
| Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
|
|
237
|
+
| OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
|
|
238
|
+
| OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
|
|
239
|
+
| Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
|
|
240
|
+
| Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
|
|
241
|
+
| Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
|
|
242
|
+
| Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
|
|
243
|
+
| Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
|
|
244
|
+
| Trae CN | `trae-cn` | `.trae/skills/` | `~/.trae-cn/skills/` |
|
|
245
|
+
| Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
|
|
246
|
+
| Zencoder | `zencoder` | `.zencoder/skills/` | `~/.zencoder/skills/` |
|
|
247
|
+
| Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
|
|
248
|
+
| Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
|
|
249
|
+
| AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
|
|
250
|
+
<!-- supported-agents:end -->
|
|
251
|
+
|
|
252
|
+
> [!NOTE]
|
|
253
|
+
> **Kiro CLI users:** After installing skills, manually add them to your custom agent's `resources` in
|
|
254
|
+
> `.kiro/agents/<agent>.json`:
|
|
255
|
+
>
|
|
256
|
+
> ```json
|
|
257
|
+
> {
|
|
258
|
+
> "resources": ["skill://.kiro/skills/**/SKILL.md"]
|
|
259
|
+
> }
|
|
260
|
+
> ```
|
|
261
|
+
|
|
262
|
+
The CLI automatically detects which coding agents you have installed. If none are detected, you'll be prompted to select
|
|
263
|
+
which agents to install to.
|
|
264
|
+
|
|
265
|
+
## Creating Skills
|
|
266
|
+
|
|
267
|
+
Skills are directories containing a `SKILL.md` file with YAML frontmatter:
|
|
268
|
+
|
|
269
|
+
```markdown
|
|
270
|
+
---
|
|
271
|
+
name: my-skill
|
|
272
|
+
description: What this skill does and when to use it
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
# My Skill
|
|
276
|
+
|
|
277
|
+
Instructions for the agent to follow when this skill is activated.
|
|
278
|
+
|
|
279
|
+
## When to Use
|
|
280
|
+
|
|
281
|
+
Describe the scenarios where this skill should be used.
|
|
282
|
+
|
|
283
|
+
## Steps
|
|
284
|
+
|
|
285
|
+
1. First, do this
|
|
286
|
+
2. Then, do that
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Required Fields
|
|
290
|
+
|
|
291
|
+
- `name`: Unique identifier (lowercase, hyphens allowed)
|
|
292
|
+
- `description`: Brief explanation of what the skill does
|
|
293
|
+
|
|
294
|
+
### Optional Fields
|
|
295
|
+
|
|
296
|
+
- `metadata.internal`: Set to `true` to hide the skill from normal discovery. Internal skills are only visible and
|
|
297
|
+
installable when `INSTALL_INTERNAL_SKILLS=1` is set. Useful for work-in-progress skills or skills meant only for
|
|
298
|
+
internal tooling.
|
|
299
|
+
|
|
300
|
+
```markdown
|
|
301
|
+
---
|
|
302
|
+
name: my-internal-skill
|
|
303
|
+
description: An internal skill not shown by default
|
|
304
|
+
metadata:
|
|
305
|
+
internal: true
|
|
306
|
+
---
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Skill Discovery
|
|
310
|
+
|
|
311
|
+
The CLI searches for skills in these locations within a repository:
|
|
312
|
+
|
|
313
|
+
<!-- skill-discovery:start -->
|
|
314
|
+
- Root directory (if it contains `SKILL.md`)
|
|
315
|
+
- `skills/`
|
|
316
|
+
- `skills/.curated/`
|
|
317
|
+
- `skills/.experimental/`
|
|
318
|
+
- `skills/.system/`
|
|
319
|
+
- `.agents/skills/`
|
|
320
|
+
- `.agent/skills/`
|
|
321
|
+
- `.augment/skills/`
|
|
322
|
+
- `.claude/skills/`
|
|
323
|
+
- `./skills/`
|
|
324
|
+
- `.codebuddy/skills/`
|
|
325
|
+
- `.commandcode/skills/`
|
|
326
|
+
- `.continue/skills/`
|
|
327
|
+
- `.cortex/skills/`
|
|
328
|
+
- `.crush/skills/`
|
|
329
|
+
- `.factory/skills/`
|
|
330
|
+
- `.goose/skills/`
|
|
331
|
+
- `.junie/skills/`
|
|
332
|
+
- `.iflow/skills/`
|
|
333
|
+
- `.kilocode/skills/`
|
|
334
|
+
- `.kiro/skills/`
|
|
335
|
+
- `.kode/skills/`
|
|
336
|
+
- `.mcpjam/skills/`
|
|
337
|
+
- `.vibe/skills/`
|
|
338
|
+
- `.mux/skills/`
|
|
339
|
+
- `.openhands/skills/`
|
|
340
|
+
- `.pi/skills/`
|
|
341
|
+
- `.qoder/skills/`
|
|
342
|
+
- `.qwen/skills/`
|
|
343
|
+
- `.roo/skills/`
|
|
344
|
+
- `.trae/skills/`
|
|
345
|
+
- `.windsurf/skills/`
|
|
346
|
+
- `.zencoder/skills/`
|
|
347
|
+
- `.neovate/skills/`
|
|
348
|
+
- `.pochi/skills/`
|
|
349
|
+
- `.adal/skills/`
|
|
350
|
+
<!-- skill-discovery:end -->
|
|
351
|
+
|
|
352
|
+
### Plugin Manifest Discovery
|
|
353
|
+
|
|
354
|
+
If `.claude-plugin/marketplace.json` or `.claude-plugin/plugin.json` exists, skills declared in those files are also discovered:
|
|
355
|
+
|
|
356
|
+
```json
|
|
357
|
+
// .claude-plugin/marketplace.json
|
|
358
|
+
{
|
|
359
|
+
"metadata": { "pluginRoot": "./plugins" },
|
|
360
|
+
"plugins": [
|
|
361
|
+
{
|
|
362
|
+
"name": "my-plugin",
|
|
363
|
+
"source": "my-plugin",
|
|
364
|
+
"skills": ["./skills/review", "./skills/test"]
|
|
365
|
+
}
|
|
366
|
+
]
|
|
367
|
+
}
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
This enables compatibility with the [Claude Code plugin marketplace](https://code.claude.com/docs/en/plugin-marketplaces) ecosystem.
|
|
371
|
+
|
|
372
|
+
If no skills are found in standard locations, a recursive search is performed.
|
|
373
|
+
|
|
374
|
+
## Compatibility
|
|
375
|
+
|
|
376
|
+
Skills are generally compatible across agents since they follow a
|
|
377
|
+
shared [Agent Skills specification](https://agentskills.io). However, some features may be agent-specific:
|
|
378
|
+
|
|
379
|
+
| Feature | OpenCode | OpenHands | Claude Code | Cline | CodeBuddy | Codex | Command Code | Kiro CLI | Cursor | Antigravity | Roo Code | Github Copilot | Amp | OpenClaw | Neovate | Pi | Qoder | Zencoder |
|
|
380
|
+
| --------------- | -------- | --------- | ----------- | ----- | --------- | ----- | ------------ | -------- | ------ | ----------- | -------- | -------------- | --- | -------- | ------- | --- | ----- | -------- |
|
|
381
|
+
| Basic skills | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
|
382
|
+
| `allowed-tools` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
|
|
383
|
+
| `context: fork` | No | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
|
|
384
|
+
| Hooks | No | No | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
|
|
385
|
+
|
|
386
|
+
## Troubleshooting
|
|
387
|
+
|
|
388
|
+
### "No skills found"
|
|
389
|
+
|
|
390
|
+
Ensure the repository contains valid `SKILL.md` files with both `name` and `description` in the frontmatter.
|
|
391
|
+
|
|
392
|
+
### Skill not loading in agent
|
|
393
|
+
|
|
394
|
+
- Verify the skill was installed to the correct path
|
|
395
|
+
- Check the agent's documentation for skill loading requirements
|
|
396
|
+
- Ensure the `SKILL.md` frontmatter is valid YAML
|
|
397
|
+
|
|
398
|
+
### Permission errors
|
|
399
|
+
|
|
400
|
+
Ensure you have write access to the target directory.
|
|
401
|
+
|
|
402
|
+
## Environment Variables
|
|
403
|
+
|
|
404
|
+
| Variable | Description |
|
|
405
|
+
| ------------------------- | -------------------------------------------------------------------------- |
|
|
406
|
+
| `INSTALL_INTERNAL_SKILLS` | Set to `1` or `true` to show and install skills marked as `internal: true` |
|
|
407
|
+
| `DISABLE_TELEMETRY` | Set to disable anonymous usage telemetry |
|
|
408
|
+
| `DO_NOT_TRACK` | Alternative way to disable telemetry |
|
|
409
|
+
|
|
410
|
+
```bash
|
|
411
|
+
# Install internal skills
|
|
412
|
+
INSTALL_INTERNAL_SKILLS=1 npx @voidagency/skills add vercel-labs/agent-skills --list
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
## Telemetry
|
|
416
|
+
|
|
417
|
+
This CLI collects anonymous usage data to help improve the tool. No personal information is collected.
|
|
418
|
+
|
|
419
|
+
Telemetry is automatically disabled in CI environments.
|
|
420
|
+
|
|
421
|
+
## Build & Publish to npm
|
|
422
|
+
|
|
423
|
+
The CLI is published as `@voidagency/skills` on npm. Source: [Bitbucket — adminvoid/void-skills](https://bitbucket.org/adminvoid/void-skills).
|
|
424
|
+
|
|
425
|
+
### Prerequisites
|
|
426
|
+
|
|
427
|
+
- Node.js ≥ 18
|
|
428
|
+
- npm account with access to the `@voidagency` scope
|
|
429
|
+
- Logged in: `npm login`
|
|
430
|
+
|
|
431
|
+
### Build
|
|
432
|
+
|
|
433
|
+
From the **monorepo root**:
|
|
434
|
+
|
|
435
|
+
```bash
|
|
436
|
+
yarn install
|
|
437
|
+
yarn workspace @voidagency/skills build
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
Or from the CLI package:
|
|
441
|
+
|
|
442
|
+
```bash
|
|
443
|
+
cd packages/cli
|
|
444
|
+
npm install
|
|
445
|
+
npm run build
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
The build outputs to `packages/cli/dist` and runs the license generator. `prepublishOnly` runs the build automatically before `npm publish`.
|
|
449
|
+
|
|
450
|
+
### Publish
|
|
451
|
+
|
|
452
|
+
1. **Bump version** in `packages/cli/package.json` (e.g. `1.4.4` → `1.4.5` or `1.5.0`).
|
|
453
|
+
2. **Build** (see above).
|
|
454
|
+
3. **Dry run** (optional): `cd packages/cli && npm publish --dry-run` to see what would be uploaded.
|
|
455
|
+
4. **Publish**:
|
|
456
|
+
```bash
|
|
457
|
+
cd packages/cli
|
|
458
|
+
npm publish
|
|
459
|
+
```
|
|
460
|
+
For a prerelease tag (e.g. `snapshot`): `npm run publish:snapshot` (bumps a prerelease version and publishes with `--tag snapshot`).
|
|
461
|
+
|
|
462
|
+
Scoped packages (`@voidagency/skills`) use `"publishConfig": { "access": "public" }` so the package is public on npm.
|
|
463
|
+
|
|
464
|
+
### Troubleshooting
|
|
465
|
+
|
|
466
|
+
- **404 Not Found on publish** — The `@voidagency` scope must exist on npm and you must have permission to publish under it. Create the organization at [npm — Create Organization](https://www.npmjs.com/org/create) (name: `voidagency`), or get added as a member if it already exists. Until then, npm will return 404 for `PUT @voidagency/skills`.
|
|
467
|
+
- **"bin script name was cleaned"** — Run `npm pkg fix` in `packages/cli` to let npm correct any package.json issues it reported.
|
|
468
|
+
|
|
469
|
+
## Related Links
|
|
470
|
+
|
|
471
|
+
- [Agent Skills Specification](https://agentskills.io)
|
|
472
|
+
- Skills directory (configure via SKILLS_API_URL)
|
|
473
|
+
- [Amp Skills Documentation](https://ampcode.com/manual#agent-skills)
|
|
474
|
+
- [Antigravity Skills Documentation](https://antigravity.google/docs/skills)
|
|
475
|
+
- [Factory AI / Droid Skills Documentation](https://docs.factory.ai/cli/configuration/skills)
|
|
476
|
+
- [Claude Code Skills Documentation](https://code.claude.com/docs/en/skills)
|
|
477
|
+
- [OpenClaw Skills Documentation](https://docs.openclaw.ai/tools/skills)
|
|
478
|
+
- [Cline Skills Documentation](https://docs.cline.bot/features/skills)
|
|
479
|
+
- [CodeBuddy Skills Documentation](https://www.codebuddy.ai/docs/ide/Features/Skills)
|
|
480
|
+
- [Codex Skills Documentation](https://developers.openai.com/codex/skills)
|
|
481
|
+
- [Command Code Skills Documentation](https://commandcode.ai/docs/skills)
|
|
482
|
+
- [Crush Skills Documentation](https://github.com/charmbracelet/crush?tab=readme-ov-file#agent-skills)
|
|
483
|
+
- [Cursor Skills Documentation](https://cursor.com/docs/context/skills)
|
|
484
|
+
- [Gemini CLI Skills Documentation](https://geminicli.com/docs/cli/skills/)
|
|
485
|
+
- [GitHub Copilot Agent Skills](https://docs.github.com/en/copilot/concepts/agents/about-agent-skills)
|
|
486
|
+
- [iFlow CLI Skills Documentation](https://platform.iflow.cn/en/cli/examples/skill)
|
|
487
|
+
- [Kimi Code CLI Skills Documentation](https://moonshotai.github.io/kimi-cli/en/customization/skills.html)
|
|
488
|
+
- [Kiro CLI Skills Documentation](https://kiro.dev/docs/cli/custom-agents/configuration-reference/#skill-resources)
|
|
489
|
+
- [Kode Skills Documentation](https://github.com/shareAI-lab/kode/blob/main/docs/skills.md)
|
|
490
|
+
- [OpenCode Skills Documentation](https://opencode.ai/docs/skills)
|
|
491
|
+
- [Qwen Code Skills Documentation](https://qwenlm.github.io/qwen-code-docs/en/users/features/skills/)
|
|
492
|
+
- [OpenHands Skills Documentation](https://docs.openhands.ai/modules/usage/how-to/using-skills)
|
|
493
|
+
- [Pi Skills Documentation](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/skills.md)
|
|
494
|
+
- [Qoder Skills Documentation](https://docs.qoder.com/cli/Skills)
|
|
495
|
+
- [Replit Skills Documentation](https://docs.replit.com/replitai/skills)
|
|
496
|
+
- [Roo Code Skills Documentation](https://docs.roocode.com/features/skills)
|
|
497
|
+
- [Trae Skills Documentation](https://docs.trae.ai/ide/skills)
|
|
498
|
+
- [Vercel Agent Skills Repository](https://github.com/vercel-labs/agent-skills)
|
|
499
|
+
|
|
500
|
+
## License
|
|
501
|
+
|
|
502
|
+
MIT
|
|
@@ -0,0 +1,12 @@
|
|
|
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/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');
|