wittyhub 0.0.1

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 ADDED
@@ -0,0 +1,543 @@
1
+ # wittyhub-cli
2
+
3
+ The CLI for the open agent skills ecosystem.
4
+
5
+ <!-- agent-list:start -->
6
+ Supports **OpenCode**, **Claude Code**, **Codex**, **Cursor**, and [68 more](#supported-agents).
7
+ <!-- agent-list:end -->
8
+
9
+ [![skills.sh](https://skills.sh/b/vercel-labs/skills)](https://skills.sh/vercel-labs/skills)
10
+
11
+ ## Install a Skill
12
+
13
+ ```bash
14
+ npx wittyhub add vercel-labs/agent-skills
15
+ ```
16
+
17
+ ## Use a Skill Without Installing
18
+
19
+ Generate a prompt for one skill, or start a supported coding agent interactively:
20
+
21
+ ```bash
22
+ npx wittyhub use vercel-labs/agent-skills@web-design-guidelines | claude
23
+ npx wittyhub use vercel-labs/agent-skills --skill web-design-guidelines --agent claude-code
24
+ ```
25
+
26
+ `wittyhub use` resolves sources the same way as `wittyhub 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.
27
+
28
+ ### Source Formats
29
+
30
+ ```bash
31
+ # GitHub shorthand (owner/repo)
32
+ npx wittyhub add vercel-labs/agent-skills
33
+
34
+ # Full GitHub URL
35
+ npx wittyhub add https://github.com/vercel-labs/agent-skills
36
+
37
+ # Direct path to a skill in a repo
38
+ npx wittyhub add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
39
+
40
+ # GitLab URL
41
+ npx wittyhub add https://gitlab.com/org/repo
42
+
43
+ # Any git URL
44
+ npx wittyhub add git@github.com:vercel-labs/agent-skills.git
45
+
46
+ # Local path
47
+ npx wittyhub add ./my-local-skills
48
+ ```
49
+
50
+ ### Options
51
+
52
+ | Option | Description |
53
+ | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
54
+ | `-g, --global` | Install to user directory instead of project |
55
+ | `-a, --agent <agents...>` | <!-- agent-names:start -->Target specific agents (e.g., `claude-code`, `codex`). See [Supported Agents](#supported-agents)<!-- agent-names:end --> |
56
+ | `-s, --skill <skills...>` | Install specific skills by name (use `'*'` for all skills) |
57
+ | `-l, --list` | List available skills without installing |
58
+ | `--copy` | Copy files instead of symlinking to agent directories |
59
+ | `-y, --yes` | Skip all confirmation prompts |
60
+ | `--all` | Install all skills to all agents without prompts |
61
+
62
+ ### Examples
63
+
64
+ ```bash
65
+ # List skills in a repository
66
+ npx wittyhub add vercel-labs/agent-skills --list
67
+
68
+ # Install specific skills
69
+ npx wittyhub add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
70
+
71
+ # Install a skill with spaces in the name (must be quoted)
72
+ npx wittyhub add owner/repo --skill "Convex Best Practices"
73
+
74
+ # Install to specific agents
75
+ npx wittyhub add vercel-labs/agent-skills -a claude-code -a opencode
76
+
77
+ # Non-interactive installation (CI/CD friendly)
78
+ npx wittyhub add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y
79
+
80
+ # Install all skills from a repo to all agents
81
+ npx wittyhub add vercel-labs/agent-skills --all
82
+
83
+ # Install all skills to specific agents
84
+ npx wittyhub add vercel-labs/agent-skills --skill '*' -a claude-code
85
+
86
+ # Install specific skills to all agents
87
+ npx wittyhub add vercel-labs/agent-skills --agent '*' --skill frontend-design
88
+ ```
89
+
90
+ ### Installation Scope
91
+
92
+ | Scope | Flag | Location | Use Case |
93
+ | ----------- | --------- | ------------------- | --------------------------------------------- |
94
+ | **Project** | (default) | `./<agent>/skills/` | Committed with your project, shared with team |
95
+ | **Global** | `-g` | `~/<agent>/skills/` | Available across all projects |
96
+
97
+ ### Installation Methods
98
+
99
+ When installing interactively, you can choose:
100
+
101
+ | Method | Description |
102
+ | ------------------------- | ------------------------------------------------------------------------------------------- |
103
+ | **Symlink** (Recommended) | Creates symlinks from each agent to a canonical copy. Single source of truth, easy updates. |
104
+ | **Copy** | Creates independent copies for each agent. Use when symlinks aren't supported. |
105
+
106
+ ## Other Commands
107
+
108
+ | Command | Description |
109
+ | ---------------------------- | --------------------------------------------- |
110
+ | `npx wittyhub use <source>` | Use one skill without installing |
111
+ | `npx wittyhub list` | List installed skills (alias: `ls`) |
112
+ | `npx wittyhub find [query]` | Search for skills interactively or by keyword |
113
+ | `npx wittyhub remove [skills]` | Remove installed skills from agents |
114
+ | `npx wittyhub update [skills]` | Update installed skills to latest versions |
115
+ | `npx wittyhub init [name]` | Create a new SKILL.md template |
116
+
117
+ ### `wittyhub list`
118
+
119
+ List all installed skills. Similar to `npm ls`.
120
+
121
+ ```bash
122
+ # List all installed skills (project and global)
123
+ npx wittyhub list
124
+
125
+ # List only global skills
126
+ npx wittyhub ls -g
127
+
128
+ # Filter by specific agents
129
+ npx wittyhub ls -a claude-code -a cursor
130
+ ```
131
+
132
+ ### `wittyhub find`
133
+
134
+ Search for skills interactively or by keyword.
135
+
136
+ ```bash
137
+ # Interactive search (fzf-style)
138
+ npx wittyhub find
139
+
140
+ # Search by keyword
141
+ npx wittyhub find typescript
142
+
143
+ # Search across every repository owned by an organization or user
144
+ npx wittyhub find react --owner vercel
145
+ ```
146
+
147
+ ### `wittyhub update`
148
+
149
+ ```bash
150
+ # Update all skills (interactive scope prompt)
151
+ npx wittyhub update
152
+
153
+ # Update a single skill by name
154
+ npx wittyhub update my-skill
155
+
156
+ # Update multiple specific skills
157
+ npx wittyhub update frontend-design web-design-guidelines
158
+
159
+ # Update only global or project skills
160
+ npx wittyhub update -g
161
+ npx wittyhub update -p
162
+
163
+ # Non-interactive (auto-detects scope: project if in a project, else global)
164
+ npx wittyhub update -y
165
+ ```
166
+
167
+ | Option | Description |
168
+ | --------------- | ------------------------------------------------------------------------- |
169
+ | `-g, --global` | Only update global skills |
170
+ | `-p, --project` | Only update project skills |
171
+ | `-y, --yes` | Skip scope prompt (auto-detect: project if in a project dir, else global) |
172
+ | `[skills...]` | Update specific skills by name instead of all |
173
+
174
+ ### `wittyhub init`
175
+
176
+ ```bash
177
+ # Create SKILL.md in current directory
178
+ npx wittyhub init
179
+
180
+ # Create a new skill in a subdirectory
181
+ npx wittyhub init my-skill
182
+ ```
183
+
184
+ ### `wittyhub remove`
185
+
186
+ Remove installed skills from agents.
187
+
188
+ ```bash
189
+ # Remove interactively (select from installed skills)
190
+ npx wittyhub remove
191
+
192
+ # Remove specific skill by name
193
+ npx wittyhub remove web-design-guidelines
194
+
195
+ # Remove multiple skills
196
+ npx wittyhub remove frontend-design web-design-guidelines
197
+
198
+ # Remove from global scope
199
+ npx wittyhub remove --global web-design-guidelines
200
+
201
+ # Remove from specific agents only
202
+ npx wittyhub remove --agent claude-code cursor my-skill
203
+
204
+ # Remove all installed skills without confirmation
205
+ npx wittyhub remove --all
206
+
207
+ # Remove all skills from a specific agent
208
+ npx wittyhub remove --skill '*' -a cursor
209
+
210
+ # Remove a specific skill from all agents
211
+ npx wittyhub remove my-skill --agent '*'
212
+
213
+ # Use 'rm' alias
214
+ npx wittyhub rm my-skill
215
+ ```
216
+
217
+ | Option | Description |
218
+ | -------------- | ------------------------------------------------ |
219
+ | `-g, --global` | Remove from global scope (~/) instead of project |
220
+ | `-a, --agent` | Remove from specific agents (use `'*'` for all) |
221
+ | `-s, --skill` | Specify skills to remove (use `'*'` for all) |
222
+ | `-y, --yes` | Skip confirmation prompts |
223
+ | `--all` | Shorthand for `--skill '*' --agent '*' -y` |
224
+
225
+ ## What are Agent Skills?
226
+
227
+ Agent skills are reusable instruction sets that extend your coding agent's capabilities. They're defined in `SKILL.md`
228
+ files with YAML frontmatter containing a `name` and `description`.
229
+
230
+ Skills let agents perform specialized tasks like:
231
+
232
+ - Generating release notes from git history
233
+ - Creating PRs following your team's conventions
234
+ - Integrating with external tools (Linear, Notion, etc.)
235
+
236
+ Discover skills at **[skills.sh](https://skills.sh)**
237
+
238
+ ## Supported Agents
239
+
240
+ Skills can be installed to any of these agents:
241
+
242
+ <!-- supported-agents:start -->
243
+ | Agent | `--agent` | Project Path | Global Path |
244
+ |-------|-----------|--------------|-------------|
245
+ | AiderDesk | `aider-desk` | `.aider-desk/skills/` | `~/.aider-desk/skills/` |
246
+ | Amp, Replit, Universal | `amp`, `replit`, `universal` | `.agents/skills/` | `~/.config/agents/skills/` |
247
+ | Antigravity | `antigravity` | `.agents/skills/` | `~/.gemini/antigravity/skills/` |
248
+ | Antigravity CLI | `antigravity-cli` | `.agents/skills/` | `~/.gemini/antigravity-cli/skills/` |
249
+ | AstrBot | `astrbot` | `data/skills/` | `~/.astrbot/data/skills/` |
250
+ | Autohand Code CLI | `autohand-code` | `.autohand/skills/` | `~/.autohand/skills/` |
251
+ | Augment | `augment` | `.augment/skills/` | `~/.augment/skills/` |
252
+ | IBM Bob | `bob` | `.bob/skills/` | `~/.bob/skills/` |
253
+ | Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
254
+ | OpenClaw | `openclaw` | `skills/` | `~/.openclaw/skills/` |
255
+ | Cline, Dexto, Kimi Code CLI, Loaf, Warp, Zed | `cline`, `dexto`, `kimi-code-cli`, `loaf`, `warp`, `zed` | `.agents/skills/` | `~/.agents/skills/` |
256
+ | CodeArts Agent | `codearts-agent` | `.codeartsdoer/skills/` | `~/.codeartsdoer/skills/` |
257
+ | CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~/.codebuddy/skills/` |
258
+ | Codemaker | `codemaker` | `.codemaker/skills/` | `~/.codemaker/skills/` |
259
+ | Code Studio | `codestudio` | `.codestudio/skills/` | `~/.codestudio/skills/` |
260
+ | Codex | `codex` | `.agents/skills/` | `~/.codex/skills/` |
261
+ | Command Code | `command-code` | `.commandcode/skills/` | `~/.commandcode/skills/` |
262
+ | Continue | `continue` | `.continue/skills/` | `~/.continue/skills/` |
263
+ | Cortex Code | `cortex` | `.cortex/skills/` | `~/.snowflake/cortex/skills/` |
264
+ | Crush | `crush` | `.crush/skills/` | `~/.config/crush/skills/` |
265
+ | Cursor | `cursor` | `.agents/skills/` | `~/.cursor/skills/` |
266
+ | Deep Agents | `deepagents` | `.agents/skills/` | `~/.deepagents/agent/skills/` |
267
+ | Devin for Terminal | `devin` | `.devin/skills/` | `~/.config/devin/skills/` |
268
+ | Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
269
+ | Eve | `eve` | `agent/skills/` | N/A (project-only) |
270
+ | Firebender | `firebender` | `.agents/skills/` | `~/.firebender/skills/` |
271
+ | ForgeCode | `forgecode` | `.forge/skills/` | `~/.forge/skills/` |
272
+ | Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
273
+ | GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
274
+ | Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
275
+ | Hermes Agent | `hermes-agent` | `.hermes/skills/` | `~/.hermes/skills/` |
276
+ | inference.sh | `inference-sh` | `.inferencesh/skills/` | `~/.inferencesh/skills/` |
277
+ | Jazz | `jazz` | `.jazz/skills/` | `~/.jazz/skills/` |
278
+ | Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
279
+ | iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
280
+ | Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
281
+ | Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
282
+ | Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
283
+ | Lingma | `lingma` | `.lingma/skills/` | `~/.lingma/skills/` |
284
+ | MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
285
+ | Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
286
+ | Moxby | `moxby` | `.moxby/skills/` | `~/.moxby/skills/` |
287
+ | Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
288
+ | OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
289
+ | OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
290
+ | Ona | `ona` | `.ona/skills/` | `~/.ona/skills/` |
291
+ | Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
292
+ | Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
293
+ | Qoder CN | `qoder-cn` | `.qoder/skills/` | `~/.qoder-cn/skills/` |
294
+ | Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
295
+ | Reasonix | `reasonix` | `.reasonix/skills/` | `~/.reasonix/skills/` |
296
+ | Rovo Dev | `rovodev` | `.rovodev/skills/` | `~/.rovodev/skills/` |
297
+ | Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
298
+ | Tabnine CLI | `tabnine-cli` | `.tabnine/agent/skills/` | `~/.tabnine/agent/skills/` |
299
+ | Terramind | `terramind` | `.terramind/skills/` | `~/.terramind/skills/` |
300
+ | Tinycloud | `tinycloud` | `.tinycloud/skills/` | `~/.tinycloud/skills/` |
301
+ | Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
302
+ | Trae CN | `trae-cn` | `.trae/skills/` | `~/.trae-cn/skills/` |
303
+ | Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
304
+ | Zencoder, Zenflow | `zencoder`, `zenflow` | `.zencoder/skills/` | `~/.zencoder/skills/` |
305
+ | Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
306
+ | Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
307
+ | PromptScript | `promptscript` | `.agents/skills/` | N/A (project-only) |
308
+ | AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
309
+ <!-- supported-agents:end -->
310
+
311
+ > [!NOTE]
312
+ > **Kiro CLI users:** The default agent automatically loads skills from `.kiro/skills/` and `~/.kiro/skills/` — no
313
+ > configuration needed. If you use a **custom agent**, add skills to its `resources` in `.kiro/agents/<agent>.json`:
314
+ >
315
+ > ```json
316
+ > {
317
+ > "resources": ["skill://.kiro/skills/**/SKILL.md"]
318
+ > }
319
+ > ```
320
+
321
+ The CLI automatically detects which coding agents you have installed. If none are detected, you'll be prompted to select
322
+ which agents to install to.
323
+
324
+ ## Creating Skills
325
+
326
+ Skills are directories containing a `SKILL.md` file with YAML frontmatter:
327
+
328
+ ```markdown
329
+ ---
330
+ name: my-skill
331
+ description: What this skill does and when to use it
332
+ ---
333
+
334
+ # My Skill
335
+
336
+ Instructions for the agent to follow when this skill is activated.
337
+
338
+ ## When to Use
339
+
340
+ Describe the scenarios where this skill should be used.
341
+
342
+ ## Steps
343
+
344
+ 1. First, do this
345
+ 2. Then, do that
346
+ ```
347
+
348
+ ### Required Fields
349
+
350
+ - `name`: Unique identifier (lowercase, hyphens allowed)
351
+ - `description`: Brief explanation of what the skill does
352
+
353
+ ### Optional Fields
354
+
355
+ - `metadata.internal`: Set to `true` to hide the skill from normal discovery. Internal skills are only visible and
356
+ installable when `INSTALL_INTERNAL_SKILLS=1` is set. Useful for work-in-progress skills or skills meant only for
357
+ internal tooling.
358
+
359
+ ```markdown
360
+ ---
361
+ name: my-internal-skill
362
+ description: An internal skill not shown by default
363
+ metadata:
364
+ internal: true
365
+ ---
366
+ ```
367
+
368
+ ### Skill Discovery
369
+
370
+ The CLI searches for skills in these locations within a repository. Each
371
+ skill container directory is walked one level deep for the common flat
372
+ layout (`skills/<name>/SKILL.md`) and one extra level deep for catalog
373
+ layouts (`skills/<category>/<name>/SKILL.md`). A `SKILL.md` discovered at
374
+ the shallower level shadows anything nested below it. Use `--full-depth`
375
+ to also discover `SKILL.md` files outside these container directories
376
+ (e.g. under `examples/` or `tests/`).
377
+
378
+ <!-- skill-discovery:start -->
379
+ - Root directory (if it contains `SKILL.md`)
380
+ - `skills/`
381
+ - `skills/.curated/`
382
+ - `skills/.experimental/`
383
+ - `skills/.system/`
384
+ - `.aider-desk/skills/`
385
+ - `.agents/skills/`
386
+ - `data/skills/`
387
+ - `.autohand/skills/`
388
+ - `.augment/skills/`
389
+ - `.bob/skills/`
390
+ - `.claude/skills/`
391
+ - `.codeartsdoer/skills/`
392
+ - `.codebuddy/skills/`
393
+ - `.codemaker/skills/`
394
+ - `.codestudio/skills/`
395
+ - `.commandcode/skills/`
396
+ - `.continue/skills/`
397
+ - `.cortex/skills/`
398
+ - `.crush/skills/`
399
+ - `.devin/skills/`
400
+ - `.factory/skills/`
401
+ - `agent/skills/`
402
+ - `.forge/skills/`
403
+ - `.goose/skills/`
404
+ - `.hermes/skills/`
405
+ - `.inferencesh/skills/`
406
+ - `.jazz/skills/`
407
+ - `.junie/skills/`
408
+ - `.iflow/skills/`
409
+ - `.kilocode/skills/`
410
+ - `.kiro/skills/`
411
+ - `.kode/skills/`
412
+ - `.lingma/skills/`
413
+ - `.mcpjam/skills/`
414
+ - `.vibe/skills/`
415
+ - `.moxby/skills/`
416
+ - `.mux/skills/`
417
+ - `.openhands/skills/`
418
+ - `.ona/skills/`
419
+ - `.pi/skills/`
420
+ - `.qoder/skills/`
421
+ - `.qwen/skills/`
422
+ - `.reasonix/skills/`
423
+ - `.rovodev/skills/`
424
+ - `.roo/skills/`
425
+ - `.tabnine/agent/skills/`
426
+ - `.terramind/skills/`
427
+ - `.tinycloud/skills/`
428
+ - `.trae/skills/`
429
+ - `.windsurf/skills/`
430
+ - `.zencoder/skills/`
431
+ - `.neovate/skills/`
432
+ - `.pochi/skills/`
433
+ - `.adal/skills/`
434
+ <!-- skill-discovery:end -->
435
+
436
+ ### Plugin Manifest Discovery
437
+
438
+ If `.claude-plugin/marketplace.json` or `.claude-plugin/plugin.json` exists, skills declared in those files are also discovered:
439
+
440
+ ```json
441
+ // .claude-plugin/marketplace.json
442
+ {
443
+ "metadata": { "pluginRoot": "./plugins" },
444
+ "plugins": [
445
+ {
446
+ "name": "my-plugin",
447
+ "source": "my-plugin",
448
+ "skills": ["./skills/review", "./skills/test"]
449
+ }
450
+ ]
451
+ }
452
+ ```
453
+
454
+ 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 depth-2 catalog walk described above.
455
+
456
+ If no skills are found in standard locations, a recursive search is performed.
457
+
458
+ ## Compatibility
459
+
460
+ Skills are generally compatible across agents since they follow a
461
+ shared [Agent Skills specification](https://agentskills.io). However, some features may be agent-specific:
462
+
463
+ | Feature | OpenCode | OpenHands | Claude Code | Cline | CodeBuddy | Codex | Command Code | Kiro CLI | Cursor | Antigravity | Roo Code | Github Copilot | Amp | OpenClaw | Neovate | Pi | Qoder | Zencoder |
464
+ | --------------- | -------- | --------- | ----------- | ----- | --------- | ----- | ------------ | -------- | ------ | ----------- | -------- | -------------- | --- | -------- | ------- | --- | ----- | -------- |
465
+ | Basic skills | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
466
+ | `allowed-tools` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
467
+ | `context: fork` | No | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
468
+ | Hooks | No | No | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No | No |
469
+
470
+ ## Troubleshooting
471
+
472
+ ### "No skills found"
473
+
474
+ Ensure the repository contains valid `SKILL.md` files with both `name` and `description` in the frontmatter.
475
+
476
+ ### Skill not loading in agent
477
+
478
+ - Verify the skill was installed to the correct path
479
+ - Check the agent's documentation for skill loading requirements
480
+ - Ensure the `SKILL.md` frontmatter is valid YAML
481
+
482
+ ### Permission errors
483
+
484
+ Ensure you have write access to the target directory.
485
+
486
+ ## Environment Variables
487
+
488
+ | Variable | Description |
489
+ | ------------------------- | -------------------------------------------------------------------------- |
490
+ | `INSTALL_INTERNAL_SKILLS` | Set to `1` or `true` to show and install skills marked as `internal: true` |
491
+ | `DISABLE_TELEMETRY` | Set to disable anonymous usage telemetry |
492
+ | `DO_NOT_TRACK` | Alternative way to disable telemetry |
493
+
494
+ ```bash
495
+ # Install internal skills
496
+ INSTALL_INTERNAL_SKILLS=1 npx wittyhub add vercel-labs/agent-skills --list
497
+ ```
498
+
499
+ ## Telemetry
500
+
501
+ This CLI collects anonymous usage data to help improve the tool. No personal information is collected.
502
+
503
+ Telemetry is automatically disabled in CI environments.
504
+
505
+ ## Related Links
506
+
507
+ - [Agent Skills Specification](https://agentskills.io)
508
+ - [Skills Directory](https://skills.sh)
509
+ - [Amp Skills Documentation](https://ampcode.com/manual#agent-skills)
510
+ - [Antigravity Skills Documentation](https://antigravity.google/docs/skills)
511
+ - [Factory AI / Droid Skills Documentation](https://docs.factory.ai/cli/configuration/skills)
512
+ - [Claude Code Skills Documentation](https://code.claude.com/docs/en/skills)
513
+ - [OpenClaw Skills Documentation](https://docs.openclaw.ai/tools/skills)
514
+ - [Cline Skills Documentation](https://docs.cline.bot/features/skills)
515
+ - [CodeBuddy Skills Documentation](https://www.codebuddy.ai/docs/ide/Features/Skills)
516
+ - [Codex Skills Documentation](https://developers.openai.com/codex/skills)
517
+ - [Command Code Skills Documentation](https://commandcode.ai/docs/skills)
518
+ - [Crush Skills Documentation](https://github.com/charmbracelet/crush?tab=readme-ov-file#agent-skills)
519
+ - [Cursor Skills Documentation](https://cursor.com/docs/context/skills)
520
+ - [Firebender Skills Documentation](https://docs.firebender.com/multi-agent/skills)
521
+ - [Gemini CLI Skills Documentation](https://geminicli.com/docs/cli/skills/)
522
+ - [GitHub Copilot Agent Skills](https://docs.github.com/en/copilot/concepts/agents/about-agent-skills)
523
+ - [iFlow CLI Skills Documentation](https://platform.iflow.cn/en/cli/examples/skill)
524
+ - [Kimi Code CLI Skills Documentation](https://moonshotai.github.io/kimi-code/en/customization/skills)
525
+ - [Kiro CLI Skills Documentation](https://kiro.dev/docs/cli/custom-agents/configuration-reference/#skill-resources)
526
+ - [Kode Skills Documentation](https://github.com/shareAI-lab/kode/blob/main/docs/skills.md)
527
+ - [OpenCode Skills Documentation](https://opencode.ai/docs/skills)
528
+ - [Qwen Code Skills Documentation](https://qwenlm.github.io/qwen-code-docs/en/users/features/skills/)
529
+ - [OpenHands Skills Documentation](https://docs.openhands.ai/modules/usage/how-to/using-skills)
530
+ - [Pi Skills Documentation](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/skills.md)
531
+ - [Qoder Skills Documentation](https://docs.qoder.com/cli/Skills)
532
+ - [Replit Skills Documentation](https://docs.replit.com/replitai/skills)
533
+ - [Roo Code Skills Documentation](https://docs.roocode.com/features/skills)
534
+ - [Trae Skills Documentation](https://docs.trae.ai/ide/skills)
535
+ - [Vercel Agent Skills Repository](https://github.com/vercel-labs/agent-skills)
536
+
537
+ ## Acknowledgments
538
+
539
+ This project is forked from [vercel-labs/skills](https://github.com/vercel-labs/skills). We thank the Vercel team and the original contributors for their excellent work on the agent skills ecosystem.
540
+
541
+ ## License
542
+
543
+ MIT
@@ -0,0 +1,117 @@
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: @clack/prompts@0.11.0
13
+ License: MIT
14
+ Repository: https://github.com/bombshell-dev/clack
15
+ --------------------------------------------------------------------------------
16
+
17
+ MIT License
18
+
19
+ Copyright (c) Nate Moore
20
+
21
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
22
+
23
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
24
+
25
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
+
27
+
28
+ ================================================================================
29
+ Package: picocolors@1.1.1
30
+ License: ISC
31
+ Repository: https://github.com/alexeyraspopov/picocolors
32
+ --------------------------------------------------------------------------------
33
+
34
+ ISC License
35
+
36
+ Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov
37
+
38
+ Permission to use, copy, modify, and/or distribute this software for any
39
+ purpose with or without fee is hereby granted, provided that the above
40
+ copyright notice and this permission notice appear in all copies.
41
+
42
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
43
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
44
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
45
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
46
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
47
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
48
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
49
+
50
+
51
+ ================================================================================
52
+ Package: simple-git@3.30.0
53
+ License: MIT
54
+ Repository: https://github.com/steveukx/git-js
55
+ --------------------------------------------------------------------------------
56
+
57
+ MIT License
58
+
59
+ Permission is hereby granted, free of charge, to any person obtaining a copy
60
+ of this software and associated documentation files (the "Software"), to deal
61
+ in the Software without restriction, including without limitation the rights
62
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
63
+ copies of the Software, and to permit persons to whom the Software is
64
+ furnished to do so, subject to the following conditions:
65
+
66
+ The above copyright notice and this permission notice shall be included in all
67
+ copies or substantial portions of the Software.
68
+
69
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
70
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
71
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
72
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
73
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
74
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
75
+ SOFTWARE.
76
+
77
+
78
+ ================================================================================
79
+ Package: xdg-basedir@5.1.0
80
+ License: MIT
81
+ Repository: https://github.com/sindresorhus/xdg-basedir
82
+ --------------------------------------------------------------------------------
83
+
84
+ MIT License
85
+
86
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
87
+
88
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
89
+
90
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
91
+
92
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
93
+
94
+
95
+ ================================================================================
96
+ Package: yaml@2.8.3
97
+ License: ISC
98
+ Repository: https://github.com/eemeli/yaml
99
+ --------------------------------------------------------------------------------
100
+
101
+ Copyright Eemeli Aro <eemeli@gmail.com>
102
+
103
+ Permission to use, copy, modify, and/or distribute this software for any purpose
104
+ with or without fee is hereby granted, provided that the above copyright notice
105
+ and this permission notice appear in all copies.
106
+
107
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
108
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
109
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
110
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
111
+ OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
112
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
113
+ THIS SOFTWARE.
114
+
115
+
116
+ ================================================================================
117
+ */
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');