@vibe-agent-toolkit/cli 0.1.8 → 0.1.11
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/dist/bin/vat +174 -0
- package/dist/bin.js +2 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
- package/dist/commands/audit/hierarchical-output.js +74 -13
- package/dist/commands/audit/hierarchical-output.js.map +1 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +36 -32
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/skills/build.d.ts +13 -0
- package/dist/commands/skills/build.d.ts.map +1 -0
- package/dist/commands/skills/build.js +205 -0
- package/dist/commands/skills/build.js.map +1 -0
- package/dist/commands/skills/command-helpers.d.ts +30 -0
- package/dist/commands/skills/command-helpers.d.ts.map +1 -0
- package/dist/commands/skills/command-helpers.js +54 -0
- package/dist/commands/skills/command-helpers.js.map +1 -0
- package/dist/commands/skills/index.d.ts +8 -0
- package/dist/commands/skills/index.d.ts.map +1 -0
- package/dist/commands/skills/index.js +96 -0
- package/dist/commands/skills/index.js.map +1 -0
- package/dist/commands/skills/install-helpers.d.ts +45 -0
- package/dist/commands/skills/install-helpers.d.ts.map +1 -0
- package/dist/commands/skills/install-helpers.js +120 -0
- package/dist/commands/skills/install-helpers.js.map +1 -0
- package/dist/commands/skills/install.d.ts +20 -0
- package/dist/commands/skills/install.d.ts.map +1 -0
- package/dist/commands/skills/install.js +287 -0
- package/dist/commands/skills/install.js.map +1 -0
- package/dist/commands/skills/list.d.ts +12 -0
- package/dist/commands/skills/list.d.ts.map +1 -0
- package/dist/commands/skills/list.js +124 -0
- package/dist/commands/skills/list.js.map +1 -0
- package/dist/commands/skills/package.d.ts +16 -0
- package/dist/commands/skills/package.d.ts.map +1 -0
- package/dist/commands/skills/package.js +293 -0
- package/dist/commands/skills/package.js.map +1 -0
- package/dist/commands/skills/validate-command.d.ts +6 -0
- package/dist/commands/skills/validate-command.d.ts.map +1 -0
- package/dist/commands/skills/validate-command.js +76 -0
- package/dist/commands/skills/validate-command.js.map +1 -0
- package/dist/commands/skills/validate.d.ts +24 -0
- package/dist/commands/skills/validate.d.ts.map +1 -0
- package/dist/commands/skills/validate.js +264 -0
- package/dist/commands/skills/validate.js.map +1 -0
- package/dist/utils/claude-paths.d.ts +32 -0
- package/dist/utils/claude-paths.d.ts.map +1 -0
- package/dist/utils/claude-paths.js +34 -0
- package/dist/utils/claude-paths.js.map +1 -0
- package/dist/utils/skill-discovery.d.ts +49 -0
- package/dist/utils/skill-discovery.d.ts.map +1 -0
- package/dist/utils/skill-discovery.js +73 -0
- package/dist/utils/skill-discovery.js.map +1 -0
- package/dist/utils/user-context-scanner.d.ts +31 -0
- package/dist/utils/user-context-scanner.d.ts.map +1 -0
- package/dist/utils/user-context-scanner.js +60 -0
- package/dist/utils/user-context-scanner.js.map +1 -0
- package/docs/audit.md +1 -0
- package/docs/skills.md +561 -0
- package/package.json +18 -12
package/docs/skills.md
ADDED
|
@@ -0,0 +1,561 @@
|
|
|
1
|
+
# vat skills - Claude Code Skills Commands
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The `vat skills` commands provide tools for packaging, distributing, installing, and managing Claude Code skills. These commands support the full skill lifecycle from development to distribution to installation.
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
### vat skills validate [path]
|
|
10
|
+
|
|
11
|
+
**Purpose:** Validate SKILL.md files for correctness and best practices
|
|
12
|
+
|
|
13
|
+
**What it does:**
|
|
14
|
+
1. Discovers all SKILL.md files in the target directory
|
|
15
|
+
2. Validates both resource rules (links, frontmatter) and skill-specific rules
|
|
16
|
+
3. Reports errors and warnings in structured format
|
|
17
|
+
4. Exits 0 if valid, 1 if errors found (warnings don't fail)
|
|
18
|
+
|
|
19
|
+
**Validation Modes:**
|
|
20
|
+
|
|
21
|
+
**Project mode (default):**
|
|
22
|
+
- Respects `vibe-agent-toolkit.config.yaml` boundaries
|
|
23
|
+
- Strict filename validation - must be exactly "SKILL.md" (case-sensitive)
|
|
24
|
+
- Errors on non-standard filenames (skill.md, Skill.md, etc.)
|
|
25
|
+
|
|
26
|
+
**User mode (--user flag):**
|
|
27
|
+
- Scans `~/.claude/plugins` and `~/.claude/skills`
|
|
28
|
+
- Permissive validation - non-standard filenames generate warnings only
|
|
29
|
+
- More tolerant for user-installed content
|
|
30
|
+
|
|
31
|
+
**Path mode (explicit path):**
|
|
32
|
+
- Scans specified directory
|
|
33
|
+
- Strict filename validation like project mode
|
|
34
|
+
|
|
35
|
+
**Arguments:**
|
|
36
|
+
- `[path]` - Path to validate (defaults to current directory)
|
|
37
|
+
|
|
38
|
+
**Options:**
|
|
39
|
+
- `--user` - Validate user-installed skills in ~/.claude
|
|
40
|
+
- `--debug` - Enable debug logging
|
|
41
|
+
|
|
42
|
+
**Exit Codes:**
|
|
43
|
+
- `0` - All validations passed
|
|
44
|
+
- `1` - Validation errors found (warnings don't fail)
|
|
45
|
+
- `2` - System error (directory not found, config invalid)
|
|
46
|
+
|
|
47
|
+
**Validation Checks:**
|
|
48
|
+
|
|
49
|
+
*Resource validation:*
|
|
50
|
+
- Internal file links (relative paths)
|
|
51
|
+
- Anchor links within files (#heading)
|
|
52
|
+
- Cross-file anchor links (file.md#heading)
|
|
53
|
+
- Frontmatter schema validation
|
|
54
|
+
|
|
55
|
+
*Skill-specific validation:*
|
|
56
|
+
- Reserved word checks (name field)
|
|
57
|
+
- XML tag detection (name/description fields)
|
|
58
|
+
- Console compatibility warnings
|
|
59
|
+
- Required frontmatter fields (name, description)
|
|
60
|
+
|
|
61
|
+
*Filename validation:*
|
|
62
|
+
- Must be "SKILL.md" (uppercase)
|
|
63
|
+
- Strict mode: errors on skill.md, Skill.md
|
|
64
|
+
- Permissive mode: warnings only
|
|
65
|
+
|
|
66
|
+
**Output Format:**
|
|
67
|
+
```yaml
|
|
68
|
+
status: success | error
|
|
69
|
+
skillsValidated: 3
|
|
70
|
+
results:
|
|
71
|
+
- path: resources/skills/SKILL.md
|
|
72
|
+
status: success
|
|
73
|
+
skill:
|
|
74
|
+
name: my-skill
|
|
75
|
+
description: Skill description
|
|
76
|
+
issues: []
|
|
77
|
+
durationSecs: 0.245
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Examples:**
|
|
81
|
+
```bash
|
|
82
|
+
# Validate all project skills (default)
|
|
83
|
+
vat skills validate
|
|
84
|
+
|
|
85
|
+
# Validate user-installed skills
|
|
86
|
+
vat skills validate --user
|
|
87
|
+
|
|
88
|
+
# Validate specific directory
|
|
89
|
+
vat skills validate packages/my-agent/resources/skills
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### vat skills build
|
|
95
|
+
|
|
96
|
+
**Purpose:** Build skills from package.json metadata during package build
|
|
97
|
+
|
|
98
|
+
**What it does:**
|
|
99
|
+
1. Reads `vat.skills` array from package.json
|
|
100
|
+
2. Validates each skill source exists
|
|
101
|
+
3. Runs `packageSkill()` for each skill
|
|
102
|
+
4. Outputs to configured path directories
|
|
103
|
+
|
|
104
|
+
**Typical Usage:**
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"scripts": {
|
|
108
|
+
"build": "tsc && vat skills build"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Package.json Structure:**
|
|
114
|
+
```json
|
|
115
|
+
{
|
|
116
|
+
"vat": {
|
|
117
|
+
"version": "1.0",
|
|
118
|
+
"type": "agent-bundle",
|
|
119
|
+
"skills": [
|
|
120
|
+
{
|
|
121
|
+
"name": "my-skill",
|
|
122
|
+
"source": "./resources/skills/SKILL.md",
|
|
123
|
+
"path": "./dist/skills/my-skill"
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Options:**
|
|
131
|
+
- `--skill <name>` - Build specific skill only
|
|
132
|
+
- `--dry-run` - Preview build without creating files
|
|
133
|
+
- `--debug` - Enable debug logging
|
|
134
|
+
|
|
135
|
+
**Exit Codes:**
|
|
136
|
+
- `0` - Build successful (or dry-run preview)
|
|
137
|
+
- `1` - Invalid source or build error
|
|
138
|
+
- `2` - System error (missing package.json, invalid config)
|
|
139
|
+
|
|
140
|
+
**Output Format:**
|
|
141
|
+
```yaml
|
|
142
|
+
status: success
|
|
143
|
+
package: @my-org/my-package
|
|
144
|
+
skillsBuilt: 2
|
|
145
|
+
skills:
|
|
146
|
+
- name: skill1
|
|
147
|
+
outputPath: /path/to/dist/skills/skill1
|
|
148
|
+
filesPackaged: 5
|
|
149
|
+
- name: skill2
|
|
150
|
+
outputPath: /path/to/dist/skills/skill2
|
|
151
|
+
filesPackaged: 3
|
|
152
|
+
duration: 1234ms
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Examples:**
|
|
156
|
+
```bash
|
|
157
|
+
# Build all skills from package.json
|
|
158
|
+
vat skills build
|
|
159
|
+
|
|
160
|
+
# Build specific skill
|
|
161
|
+
vat skills build --skill my-skill
|
|
162
|
+
|
|
163
|
+
# Preview without building
|
|
164
|
+
vat skills build --dry-run
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
### vat skills package <skill-path>
|
|
170
|
+
|
|
171
|
+
**Purpose:** Package a SKILL.md file for distribution
|
|
172
|
+
|
|
173
|
+
**What it does:**
|
|
174
|
+
1. Validates the SKILL.md file
|
|
175
|
+
2. Recursively collects all linked markdown files
|
|
176
|
+
3. Rewrites relative links to maintain correctness after relocation
|
|
177
|
+
4. Creates distributable artifacts (directory, ZIP, npm, marketplace)
|
|
178
|
+
|
|
179
|
+
**Arguments:**
|
|
180
|
+
- `<skill-path>` - Path to SKILL.md file (required)
|
|
181
|
+
|
|
182
|
+
**Required Options:**
|
|
183
|
+
- `-o, --output <path>` - Output directory for packaged skill (required)
|
|
184
|
+
|
|
185
|
+
**Optional Options:**
|
|
186
|
+
- `-f, --formats <formats>` - Comma-separated formats: directory,zip,npm,marketplace (default: directory,zip)
|
|
187
|
+
- `--no-rewrite-links` - Skip rewriting relative links in copied files
|
|
188
|
+
- `-b, --base-path <path>` - Base path for resolving relative links (default: dirname of SKILL.md)
|
|
189
|
+
- `--dry-run` - Preview packaging without creating files
|
|
190
|
+
- `--debug` - Enable debug logging
|
|
191
|
+
|
|
192
|
+
**Exit Codes:**
|
|
193
|
+
- `0` - Packaging successful (or dry-run preview)
|
|
194
|
+
- `1` - Invalid skill path or packaging error
|
|
195
|
+
- `2` - System error
|
|
196
|
+
|
|
197
|
+
**What Gets Packaged:**
|
|
198
|
+
- Root SKILL.md file
|
|
199
|
+
- All linked markdown files (recursively discovered)
|
|
200
|
+
- Links are rewritten to maintain correctness
|
|
201
|
+
- Directory structure is preserved
|
|
202
|
+
|
|
203
|
+
**Output Format:**
|
|
204
|
+
```yaml
|
|
205
|
+
status: success
|
|
206
|
+
skill: my-skill
|
|
207
|
+
version: 1.0.0
|
|
208
|
+
outputPath: /path/to/output/my-skill
|
|
209
|
+
filesPackaged: 8
|
|
210
|
+
artifacts:
|
|
211
|
+
directory: /path/to/output/my-skill
|
|
212
|
+
zip: /path/to/output/my-skill.zip
|
|
213
|
+
duration: 456ms
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Examples:**
|
|
217
|
+
```bash
|
|
218
|
+
# Package with default formats (directory + ZIP)
|
|
219
|
+
vat skills package resources/skills/SKILL.md -o dist/my-skill
|
|
220
|
+
|
|
221
|
+
# Preview without creating files
|
|
222
|
+
vat skills package SKILL.md -o /tmp/skill --dry-run
|
|
223
|
+
|
|
224
|
+
# Package as ZIP and npm formats only
|
|
225
|
+
vat skills package SKILL.md -o dist -f zip,npm
|
|
226
|
+
|
|
227
|
+
# Package without rewriting links
|
|
228
|
+
vat skills package SKILL.md -o dist --no-rewrite-links
|
|
229
|
+
|
|
230
|
+
# Package with custom base path
|
|
231
|
+
vat skills package SKILL.md -o dist -b /custom/base
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
### vat skills install [source]
|
|
237
|
+
|
|
238
|
+
**Purpose:** Install a skill to Claude Code's skills directory
|
|
239
|
+
|
|
240
|
+
**What it does:**
|
|
241
|
+
1. Detects source type (npm package, local ZIP, or local directory)
|
|
242
|
+
2. Extracts/copies skill to `~/.claude/skills/`
|
|
243
|
+
3. Handles conflicts and validates installation
|
|
244
|
+
|
|
245
|
+
**Supported Sources:**
|
|
246
|
+
- **npm package:** `npm:@scope/package-name`
|
|
247
|
+
- **Local ZIP file:** `./path/to/skill.zip`
|
|
248
|
+
- **Local directory:** `./path/to/skill-dir`
|
|
249
|
+
- **npm postinstall:** `--npm-postinstall` (automatic during global install)
|
|
250
|
+
|
|
251
|
+
**Arguments:**
|
|
252
|
+
- `[source]` - Source to install from (required unless using --npm-postinstall)
|
|
253
|
+
|
|
254
|
+
**Options:**
|
|
255
|
+
- `-s, --skills-dir <path>` - Claude skills directory (default: ~/.claude/skills/)
|
|
256
|
+
- `-n, --name <name>` - Custom name for installed skill (default: auto-detect from source)
|
|
257
|
+
- `-f, --force` - Overwrite existing skill if present
|
|
258
|
+
- `--dry-run` - Preview installation without creating files
|
|
259
|
+
- `--npm-postinstall` - Run as npm postinstall hook (internal use)
|
|
260
|
+
- `--debug` - Enable debug logging
|
|
261
|
+
|
|
262
|
+
**Exit Codes:**
|
|
263
|
+
- `0` - Installation successful
|
|
264
|
+
- `1` - Installation error (invalid source, skill exists)
|
|
265
|
+
- `2` - System error
|
|
266
|
+
|
|
267
|
+
**Output Format:**
|
|
268
|
+
```yaml
|
|
269
|
+
status: success
|
|
270
|
+
skillName: my-skill
|
|
271
|
+
installPath: /Users/you/.claude/skills/my-skill
|
|
272
|
+
source: npm:@my-org/my-package
|
|
273
|
+
sourceType: npm
|
|
274
|
+
duration: 1234ms
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Examples:**
|
|
278
|
+
```bash
|
|
279
|
+
# Install from npm package
|
|
280
|
+
vat skills install npm:@vibe-agent-toolkit/vat-development-agents
|
|
281
|
+
|
|
282
|
+
# Install from local ZIP
|
|
283
|
+
vat skills install ./cat-agents-skill.zip
|
|
284
|
+
|
|
285
|
+
# Install from local directory with custom name
|
|
286
|
+
vat skills install ./my-skill-dir --name custom-skill-name
|
|
287
|
+
|
|
288
|
+
# Force overwrite existing skill
|
|
289
|
+
vat skills install skill.zip --force
|
|
290
|
+
|
|
291
|
+
# Preview installation
|
|
292
|
+
vat skills install npm:@my-org/package --dry-run
|
|
293
|
+
|
|
294
|
+
# Install to custom location
|
|
295
|
+
vat skills install skill.zip --skills-dir /custom/path
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
**Post-Installation:**
|
|
299
|
+
After installation, you need to:
|
|
300
|
+
1. Restart Claude Code, or
|
|
301
|
+
2. Run `/reload-skills` in Claude Code to load the new skill
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
### vat skills list [path]
|
|
306
|
+
|
|
307
|
+
**Purpose:** List skills in project or user installation
|
|
308
|
+
|
|
309
|
+
**What it does:**
|
|
310
|
+
1. Discovers all SKILL.md files in the target location
|
|
311
|
+
2. Reports validation status for each skill
|
|
312
|
+
3. Shows skill metadata (name, description, path)
|
|
313
|
+
|
|
314
|
+
**Modes:**
|
|
315
|
+
|
|
316
|
+
**Project mode (default):**
|
|
317
|
+
- Lists skills in project directory
|
|
318
|
+
- Respects `vibe-agent-toolkit.config.yaml` boundaries
|
|
319
|
+
- Strict filename validation
|
|
320
|
+
|
|
321
|
+
**User mode (--user flag):**
|
|
322
|
+
- Lists skills in `~/.claude/plugins` and `~/.claude/skills`
|
|
323
|
+
- Shows user-installed skills
|
|
324
|
+
- Permissive filename validation
|
|
325
|
+
|
|
326
|
+
**Path mode (explicit path):**
|
|
327
|
+
- Lists skills at specific path
|
|
328
|
+
- Strict filename validation
|
|
329
|
+
|
|
330
|
+
**Arguments:**
|
|
331
|
+
- `[path]` - Path to list skills from (default: current directory)
|
|
332
|
+
|
|
333
|
+
**Options:**
|
|
334
|
+
- `--user` - List user-installed skills in ~/.claude
|
|
335
|
+
- `--verbose` - Show detailed information (full paths, warnings)
|
|
336
|
+
- `--debug` - Enable debug logging
|
|
337
|
+
|
|
338
|
+
**Exit Codes:**
|
|
339
|
+
- `0` - List operation successful (warnings don't fail)
|
|
340
|
+
- `2` - System error (directory not found, config invalid)
|
|
341
|
+
|
|
342
|
+
**Validation Status:**
|
|
343
|
+
- ✅ `valid` - Filename is "SKILL.md" (uppercase)
|
|
344
|
+
- ⚠️ `warning` - Non-standard filename detected (skill.md, Skill.md, etc.)
|
|
345
|
+
|
|
346
|
+
**Output Format:**
|
|
347
|
+
```yaml
|
|
348
|
+
status: success
|
|
349
|
+
context: project | user
|
|
350
|
+
skillsFound: 3
|
|
351
|
+
skills:
|
|
352
|
+
- name: skill1
|
|
353
|
+
path: resources/skills/SKILL.md
|
|
354
|
+
validation: valid
|
|
355
|
+
- name: skill2
|
|
356
|
+
path: skills/skill2.md
|
|
357
|
+
validation: warning
|
|
358
|
+
warning: Non-standard filename (should be SKILL.md)
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
**Examples:**
|
|
362
|
+
```bash
|
|
363
|
+
# List project skills (default)
|
|
364
|
+
vat skills list
|
|
365
|
+
|
|
366
|
+
# List user-installed skills
|
|
367
|
+
vat skills list --user
|
|
368
|
+
|
|
369
|
+
# List skills at specific path
|
|
370
|
+
vat skills list packages/my-agent
|
|
371
|
+
|
|
372
|
+
# Show detailed information
|
|
373
|
+
vat skills list --verbose
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
## Distribution Workflow
|
|
379
|
+
|
|
380
|
+
The complete workflow for creating and distributing Claude Code skills:
|
|
381
|
+
|
|
382
|
+
### 1. Development
|
|
383
|
+
- Create `SKILL.md` with frontmatter
|
|
384
|
+
- Add resources and linked markdown files
|
|
385
|
+
- Test locally with Claude Code
|
|
386
|
+
|
|
387
|
+
### 2. Validation
|
|
388
|
+
```bash
|
|
389
|
+
# Validate skill correctness
|
|
390
|
+
vat skills validate resources/skills
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
### 3. Build (for npm packages)
|
|
394
|
+
```bash
|
|
395
|
+
# Add to package.json
|
|
396
|
+
{
|
|
397
|
+
"vat": {
|
|
398
|
+
"skills": [{
|
|
399
|
+
"name": "my-skill",
|
|
400
|
+
"source": "./resources/skills/SKILL.md",
|
|
401
|
+
"path": "./dist/skills/my-skill"
|
|
402
|
+
}]
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
# Build during package build
|
|
407
|
+
bun run build # Runs: tsc && vat skills build
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### 4. Package (for standalone distribution)
|
|
411
|
+
```bash
|
|
412
|
+
# Create distributable ZIP
|
|
413
|
+
vat skills package resources/skills/SKILL.md -o dist/my-skill
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### 5. Distribution
|
|
417
|
+
**Option A: npm package**
|
|
418
|
+
```bash
|
|
419
|
+
npm publish # Skills installed via postinstall hook
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
**Option B: GitHub releases**
|
|
423
|
+
- Upload ZIP from step 4
|
|
424
|
+
- Users download and extract to `~/.claude/skills/`
|
|
425
|
+
|
|
426
|
+
**Option C: Direct install**
|
|
427
|
+
```bash
|
|
428
|
+
# From npm
|
|
429
|
+
vat skills install npm:@my-org/my-skill-package
|
|
430
|
+
|
|
431
|
+
# From local ZIP
|
|
432
|
+
vat skills install my-skill.zip
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
### 6. Installation
|
|
436
|
+
Users install via:
|
|
437
|
+
```bash
|
|
438
|
+
# Global npm install (automatic skill installation)
|
|
439
|
+
npm install -g @my-org/my-skill-package
|
|
440
|
+
|
|
441
|
+
# Or manual install
|
|
442
|
+
vat skills install npm:@my-org/my-skill-package
|
|
443
|
+
vat skills install ./my-skill.zip
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
### 7. Usage
|
|
447
|
+
```
|
|
448
|
+
# In Claude Code
|
|
449
|
+
User: /my-skill
|
|
450
|
+
# Skill executes
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
## Best Practices
|
|
456
|
+
|
|
457
|
+
### Skill Naming
|
|
458
|
+
- Use lowercase with hyphens: `my-skill`, not `MySkill` or `my_skill`
|
|
459
|
+
- Avoid reserved words: `help`, `exit`, `clear`, `history`
|
|
460
|
+
- No XML-like tags: `<skill>` or `</skill>`
|
|
461
|
+
|
|
462
|
+
### Skill Structure
|
|
463
|
+
- Always name the file exactly `SKILL.md` (uppercase)
|
|
464
|
+
- Include required frontmatter: `name`, `description`
|
|
465
|
+
- Keep descriptions under 500 characters
|
|
466
|
+
- Use forward slashes in paths (not backslashes)
|
|
467
|
+
|
|
468
|
+
### Distribution
|
|
469
|
+
- Validate before packaging: `vat skills validate`
|
|
470
|
+
- Test in dry-run mode first: `vat skills package --dry-run`
|
|
471
|
+
- Include version in frontmatter for tracking
|
|
472
|
+
- Document installation instructions in README
|
|
473
|
+
|
|
474
|
+
### Package Management
|
|
475
|
+
- Use `vat.skills` in package.json for npm distribution
|
|
476
|
+
- Build skills during package build: `tsc && vat skills build`
|
|
477
|
+
- Test installation locally before publishing
|
|
478
|
+
- Use semantic versioning for skill versions
|
|
479
|
+
|
|
480
|
+
### User Installation
|
|
481
|
+
- Prefer npm packages for automatic updates
|
|
482
|
+
- Use `--force` flag carefully (overwrites existing skills)
|
|
483
|
+
- Verify installation: `vat skills list --user`
|
|
484
|
+
- Remember to restart Claude Code or run `/reload-skills`
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
## Troubleshooting
|
|
489
|
+
|
|
490
|
+
### "Skill already exists"
|
|
491
|
+
**Problem:** Installing skill that's already installed
|
|
492
|
+
|
|
493
|
+
**Solution:** Use `--force` flag to overwrite:
|
|
494
|
+
```bash
|
|
495
|
+
vat skills install my-skill.zip --force
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
### "No skills found in package.json"
|
|
499
|
+
**Problem:** Running `vat skills build` without `vat.skills` field
|
|
500
|
+
|
|
501
|
+
**Solution:** Add `vat.skills` to package.json:
|
|
502
|
+
```json
|
|
503
|
+
{
|
|
504
|
+
"vat": {
|
|
505
|
+
"skills": [...]
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
### "Skill source not found"
|
|
511
|
+
**Problem:** `source` path in package.json is incorrect
|
|
512
|
+
|
|
513
|
+
**Solution:** Verify path is relative to package.json:
|
|
514
|
+
```json
|
|
515
|
+
{
|
|
516
|
+
"vat": {
|
|
517
|
+
"skills": [{
|
|
518
|
+
"source": "./resources/skills/SKILL.md" // Must exist
|
|
519
|
+
}]
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
### "Reserved word in name"
|
|
525
|
+
**Problem:** Skill name uses reserved word like "help" or "exit"
|
|
526
|
+
|
|
527
|
+
**Solution:** Choose different name:
|
|
528
|
+
```yaml
|
|
529
|
+
---
|
|
530
|
+
name: my-help # Instead of "help"
|
|
531
|
+
---
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
### "Skill not recognized by Claude Code"
|
|
535
|
+
**Problem:** Installed skill doesn't appear in Claude Code
|
|
536
|
+
|
|
537
|
+
**Solution:**
|
|
538
|
+
1. Verify installation: `vat skills list --user`
|
|
539
|
+
2. Check location: Should be in `~/.claude/skills/` not `~/.claude/plugins/`
|
|
540
|
+
3. Restart Claude Code or run `/reload-skills`
|
|
541
|
+
|
|
542
|
+
### "Windows-style backslashes"
|
|
543
|
+
**Problem:** Links use backslashes: `resources\SKILL.md`
|
|
544
|
+
|
|
545
|
+
**Solution:** Use forward slashes: `resources/SKILL.md`
|
|
546
|
+
|
|
547
|
+
---
|
|
548
|
+
|
|
549
|
+
## Related Commands
|
|
550
|
+
|
|
551
|
+
- `vat audit` - Comprehensive validation for plugins, marketplaces, and skills
|
|
552
|
+
- `vat resources validate` - Validate markdown resources (links, anchors)
|
|
553
|
+
- `vat doctor` - Check environment and installation health
|
|
554
|
+
|
|
555
|
+
---
|
|
556
|
+
|
|
557
|
+
## See Also
|
|
558
|
+
|
|
559
|
+
- [CLI Reference](./index.md) - Complete CLI documentation
|
|
560
|
+
- [Audit Command](./audit.md) - Comprehensive validation
|
|
561
|
+
- [Resources Command](./resources.md) - Markdown resource validation
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-agent-toolkit/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "Command-line interface for vibe-agent-toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -38,29 +38,35 @@
|
|
|
38
38
|
],
|
|
39
39
|
"author": "Jeff Dutton",
|
|
40
40
|
"license": "MIT",
|
|
41
|
+
"//dependencies-note": "DO NOT add example agent packages (vat-example-cat-agents, etc.) - users install those separately, not as CLI dependencies. Only vat-development-agents (contains vibe-agent-toolkit skill) should be included.",
|
|
41
42
|
"dependencies": {
|
|
42
43
|
"@anthropic-ai/sdk": "^0.71.2",
|
|
43
|
-
"@vibe-agent-toolkit/agent-config": "0.1.
|
|
44
|
-
"@vibe-agent-toolkit/agent-schema": "0.1.
|
|
45
|
-
"@vibe-agent-toolkit/
|
|
46
|
-
"@vibe-agent-toolkit/
|
|
47
|
-
"@vibe-agent-toolkit/
|
|
48
|
-
"@vibe-agent-toolkit/rag
|
|
49
|
-
"@vibe-agent-toolkit/
|
|
50
|
-
"@vibe-agent-toolkit/
|
|
51
|
-
"@vibe-agent-toolkit/utils": "0.1.
|
|
52
|
-
"@vibe-agent-toolkit/vat-
|
|
44
|
+
"@vibe-agent-toolkit/agent-config": "0.1.11",
|
|
45
|
+
"@vibe-agent-toolkit/agent-schema": "0.1.11",
|
|
46
|
+
"@vibe-agent-toolkit/agent-skills": "0.1.11",
|
|
47
|
+
"@vibe-agent-toolkit/discovery": "0.1.11",
|
|
48
|
+
"@vibe-agent-toolkit/gateway-mcp": "0.1.11",
|
|
49
|
+
"@vibe-agent-toolkit/rag": "0.1.11",
|
|
50
|
+
"@vibe-agent-toolkit/rag-lancedb": "0.1.11",
|
|
51
|
+
"@vibe-agent-toolkit/resources": "0.1.11",
|
|
52
|
+
"@vibe-agent-toolkit/utils": "0.1.11",
|
|
53
|
+
"@vibe-agent-toolkit/vat-development-agents": "0.1.11",
|
|
54
|
+
"adm-zip": "^0.5.16",
|
|
53
55
|
"commander": "^12.1.0",
|
|
54
56
|
"js-yaml": "^4.1.0",
|
|
57
|
+
"picomatch": "^4.0.3",
|
|
55
58
|
"semver": "^7.7.3",
|
|
56
59
|
"zod": "^3.24.1"
|
|
57
60
|
},
|
|
58
61
|
"devDependencies": {
|
|
62
|
+
"@types/adm-zip": "^0.5.7",
|
|
59
63
|
"@types/js-yaml": "^4.0.9",
|
|
60
64
|
"@types/node": "^22.10.5",
|
|
65
|
+
"@types/picomatch": "^4.0.2",
|
|
61
66
|
"@types/semver": "^7.7.1",
|
|
67
|
+
"@types/tar": "^6.1.13",
|
|
62
68
|
"rimraf": "^6.0.1",
|
|
63
|
-
"tar": "^7.5.
|
|
69
|
+
"tar": "^7.5.7",
|
|
64
70
|
"typescript": "^5.7.3",
|
|
65
71
|
"vitest": "^2.1.8"
|
|
66
72
|
},
|