wittyhub 0.0.3 → 0.0.5
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 +150 -97
- package/dist/_chunks/libs/simple-git.mjs +1 -1
- package/dist/cli.mjs +1370 -593
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,17 +3,31 @@
|
|
|
3
3
|
The CLI for the open agent skills ecosystem.
|
|
4
4
|
|
|
5
5
|
<!-- agent-list:start -->
|
|
6
|
+
|
|
6
7
|
Supports **OpenCode**, **Claude Code**, **Codex**, **Cursor**, and [68 more](#supported-agents).
|
|
8
|
+
|
|
7
9
|
<!-- agent-list:end -->
|
|
8
10
|
|
|
9
|
-
[](https://skillhub.openeuler.org/)
|
|
10
12
|
|
|
11
13
|
## Install a Skill
|
|
12
14
|
|
|
13
15
|
```bash
|
|
14
|
-
|
|
16
|
+
# Install by skill_id (recommended)
|
|
17
|
+
npx wittyhub add github:vercel-labs/agent-skills/deploy-to-vercel
|
|
18
|
+
|
|
19
|
+
# Install from a repo reference (interactive selection)
|
|
20
|
+
npx wittyhub add gitcode:openeuler/witty-diagnosis-agent
|
|
21
|
+
|
|
22
|
+
# Or by repo URL + --skill (for exploring repos)
|
|
23
|
+
npx wittyhub add https://gitcode.com/openeuler/witty-diagnosis-agent --skill system-resource-diagnosis
|
|
24
|
+
|
|
25
|
+
# Install a specific version
|
|
26
|
+
npx wittyhub add gitcode:openeuler/witty-diagnosis-agent --skill system-resource-diagnosis --version v1.0.0
|
|
15
27
|
```
|
|
16
28
|
|
|
29
|
+
> **Tip:** `skill_id` format is `{source}:{owner}/{repo}/{skill_name}`. Omitting the `{source}:` prefix defaults to `github:`.
|
|
30
|
+
|
|
17
31
|
## Use a Skill Without Installing
|
|
18
32
|
|
|
19
33
|
Generate a prompt for one skill, or start a supported coding agent interactively:
|
|
@@ -27,26 +41,34 @@ npx wittyhub use vercel-labs/agent-skills --skill web-design-guidelines --agent
|
|
|
27
41
|
|
|
28
42
|
### Source Formats
|
|
29
43
|
|
|
44
|
+
`wittyhub add` accepts `skill_id`, repo references, and URLs:
|
|
45
|
+
|
|
30
46
|
```bash
|
|
31
|
-
#
|
|
32
|
-
npx wittyhub add vercel-labs/agent-skills
|
|
47
|
+
# skill_id (installs a single skill directly)
|
|
48
|
+
npx wittyhub add github:vercel-labs/agent-skills/deploy-to-vercel
|
|
49
|
+
|
|
50
|
+
# Repo reference: source:owner/repo (lists all skills in the repo)
|
|
51
|
+
npx wittyhub add github:vercel-labs/agent-skills
|
|
52
|
+
npx wittyhub add gitcode:openeuler/witty-diagnosis-agent
|
|
33
53
|
|
|
34
|
-
#
|
|
54
|
+
# Repo URL (auto-parsed to source:owner/repo)
|
|
35
55
|
npx wittyhub add https://github.com/vercel-labs/agent-skills
|
|
56
|
+
npx wittyhub add https://gitcode.com/openeuler/witty-diagnosis-agent
|
|
57
|
+
|
|
58
|
+
# SSH URL (auto-parsed to source:owner/repo)
|
|
59
|
+
npx wittyhub add git@github.com:vercel-labs/agent-skills.git
|
|
36
60
|
|
|
37
61
|
# Direct path to a skill in a repo
|
|
38
62
|
npx wittyhub add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
|
|
39
63
|
|
|
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
64
|
# Local path
|
|
47
65
|
npx wittyhub add ./my-local-skills
|
|
48
66
|
```
|
|
49
67
|
|
|
68
|
+
Repo URLs from known hosts (`github.com`, `gitcode.com`, `gitlab.com`, `gitee.com`) are automatically
|
|
69
|
+
resolved to the `source:owner/repo` reference format, querying the SkillHub index instead of cloning
|
|
70
|
+
the repository.
|
|
71
|
+
|
|
50
72
|
### Options
|
|
51
73
|
|
|
52
74
|
| Option | Description |
|
|
@@ -62,29 +84,36 @@ npx wittyhub add ./my-local-skills
|
|
|
62
84
|
### Examples
|
|
63
85
|
|
|
64
86
|
```bash
|
|
65
|
-
#
|
|
66
|
-
npx wittyhub add
|
|
87
|
+
# Install by skill_id (recommended for single skills)
|
|
88
|
+
npx wittyhub add gitcode:openeuler/witty-diagnosis-agent/system-resource-diagnosis
|
|
67
89
|
|
|
68
|
-
#
|
|
69
|
-
npx wittyhub add vercel-labs/agent-skills --
|
|
90
|
+
# List all skills in a repository
|
|
91
|
+
npx wittyhub add github:vercel-labs/agent-skills --list
|
|
92
|
+
npx wittyhub add https://github.com/vercel-labs/agent-skills --list
|
|
70
93
|
|
|
71
|
-
# Install a skill
|
|
72
|
-
npx wittyhub add
|
|
94
|
+
# Install a specific skill from a repo
|
|
95
|
+
npx wittyhub add github:vercel-labs/agent-skills --skill web-design-guidelines
|
|
96
|
+
npx wittyhub add https://gitcode.com/openeuler/witty-diagnosis-agent --skill system-resource-diagnosis
|
|
97
|
+
|
|
98
|
+
# Install all skills from a repo (interactive selection)
|
|
99
|
+
npx wittyhub add github:vercel-labs/agent-skills
|
|
100
|
+
npx wittyhub add git@github.com:vercel-labs/agent-skills.git
|
|
73
101
|
|
|
74
102
|
# Install to specific agents
|
|
75
|
-
npx wittyhub add vercel-labs/agent-skills -a claude-code -a opencode
|
|
103
|
+
npx wittyhub add github:vercel-labs/agent-skills -a claude-code -a opencode
|
|
76
104
|
|
|
77
105
|
# Non-interactive installation (CI/CD friendly)
|
|
78
|
-
npx wittyhub add vercel-labs/agent-skills --skill
|
|
106
|
+
npx wittyhub add github:vercel-labs/agent-skills --skill web-design-guidelines -g -a claude-code -y
|
|
79
107
|
|
|
80
108
|
# Install all skills from a repo to all agents
|
|
81
|
-
npx wittyhub add vercel-labs/agent-skills --all
|
|
109
|
+
npx wittyhub add github:vercel-labs/agent-skills --all
|
|
110
|
+
npx wittyhub add https://github.com/vercel-labs/agent-skills --all
|
|
82
111
|
|
|
83
112
|
# Install all skills to specific agents
|
|
84
|
-
npx wittyhub add vercel-labs/agent-skills --skill '*' -a claude-code
|
|
113
|
+
npx wittyhub add github:vercel-labs/agent-skills --skill '*' -a claude-code
|
|
85
114
|
|
|
86
115
|
# Install specific skills to all agents
|
|
87
|
-
npx wittyhub add
|
|
116
|
+
npx wittyhub add gitcode:openeuler/witty-diagnosis-agent --agent '*' --skill system-resource-diagnosis
|
|
88
117
|
```
|
|
89
118
|
|
|
90
119
|
### Installation Scope
|
|
@@ -105,14 +134,17 @@ When installing interactively, you can choose:
|
|
|
105
134
|
|
|
106
135
|
## Other Commands
|
|
107
136
|
|
|
108
|
-
| Command
|
|
109
|
-
|
|
|
110
|
-
| `npx wittyhub use <source>`
|
|
111
|
-
| `npx wittyhub list`
|
|
112
|
-
| `npx wittyhub find [query]`
|
|
113
|
-
| `npx wittyhub remove [skills]`
|
|
114
|
-
| `npx wittyhub update [skills]`
|
|
115
|
-
| `npx wittyhub
|
|
137
|
+
| Command | Description |
|
|
138
|
+
| ------------------------------- | ------------------------------------------------------- |
|
|
139
|
+
| `npx wittyhub use <source>` | Use one skill without installing |
|
|
140
|
+
| `npx wittyhub list` | List installed skills (alias: `ls`) |
|
|
141
|
+
| `npx wittyhub find [query]` | Search for skills interactively or by keyword |
|
|
142
|
+
| `npx wittyhub remove [skills]` | Remove installed skills from agents |
|
|
143
|
+
| `npx wittyhub update [skills]` | Update installed skills to latest versions |
|
|
144
|
+
| `npx wittyhub get <skill_id>` | View skill details (author, version, description, tags) |
|
|
145
|
+
| `npx wittyhub audit <skill_id>` | Show security audit result (risk level + risk signals) |
|
|
146
|
+
| `npx wittyhub init [name]` | Create a new SKILL.md template |
|
|
147
|
+
| `npx wittyhub validate <path>` | Validate a local skill for spec compliance |
|
|
116
148
|
|
|
117
149
|
### `wittyhub list`
|
|
118
150
|
|
|
@@ -144,6 +176,24 @@ npx wittyhub find typescript
|
|
|
144
176
|
npx wittyhub find react --owner vercel
|
|
145
177
|
```
|
|
146
178
|
|
|
179
|
+
### `wittyhub get`
|
|
180
|
+
|
|
181
|
+
View skill details by `skill_id`. Supports shorthand auto-completion — if you omit the source type prefix, `github:` is automatically prepended.
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
# Full skill_id format
|
|
185
|
+
npx wittyhub get gitcode:openeuler/witty-diagnosis-agent/system-resource-diagnosis
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### `wittyhub audit`
|
|
189
|
+
|
|
190
|
+
Show security audit results for a skill. Supports the same `skill_id` format and shorthand as `get`.
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# Full skill_id
|
|
194
|
+
npx wittyhub audit gitcode:openeuler/witty-diagnosis-agent/system-resource-diagnosis
|
|
195
|
+
```
|
|
196
|
+
|
|
147
197
|
### `wittyhub update`
|
|
148
198
|
|
|
149
199
|
```bash
|
|
@@ -233,79 +283,81 @@ Skills let agents perform specialized tasks like:
|
|
|
233
283
|
- Creating PRs following your team's conventions
|
|
234
284
|
- Integrating with external tools (Linear, Notion, etc.)
|
|
235
285
|
|
|
236
|
-
Discover skills at **[
|
|
286
|
+
Discover skills at **[SkillHub](https://skillhub.openeuler.org/)**
|
|
237
287
|
|
|
238
288
|
## Supported Agents
|
|
239
289
|
|
|
240
290
|
Skills can be installed to any of these agents:
|
|
241
291
|
|
|
242
292
|
<!-- supported-agents:start -->
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
|
246
|
-
|
|
|
247
|
-
|
|
|
248
|
-
| Antigravity
|
|
249
|
-
|
|
|
250
|
-
|
|
|
251
|
-
|
|
|
252
|
-
|
|
|
253
|
-
|
|
|
254
|
-
|
|
|
255
|
-
|
|
|
256
|
-
|
|
|
257
|
-
|
|
|
258
|
-
|
|
|
259
|
-
|
|
|
260
|
-
|
|
|
261
|
-
|
|
|
262
|
-
|
|
|
263
|
-
|
|
|
264
|
-
|
|
|
265
|
-
|
|
|
266
|
-
|
|
|
267
|
-
|
|
|
268
|
-
|
|
|
269
|
-
|
|
|
270
|
-
|
|
|
271
|
-
|
|
|
272
|
-
|
|
|
273
|
-
|
|
|
274
|
-
|
|
|
275
|
-
|
|
|
276
|
-
|
|
|
277
|
-
|
|
|
278
|
-
|
|
|
279
|
-
|
|
|
280
|
-
|
|
|
281
|
-
|
|
|
282
|
-
|
|
|
283
|
-
|
|
|
284
|
-
|
|
|
285
|
-
|
|
|
286
|
-
|
|
|
287
|
-
|
|
|
288
|
-
|
|
|
289
|
-
|
|
|
290
|
-
|
|
|
291
|
-
|
|
|
292
|
-
|
|
|
293
|
-
| Qoder
|
|
294
|
-
|
|
|
295
|
-
|
|
|
296
|
-
|
|
|
297
|
-
|
|
|
298
|
-
|
|
|
299
|
-
|
|
|
300
|
-
|
|
|
301
|
-
|
|
|
302
|
-
| Trae
|
|
303
|
-
|
|
|
304
|
-
|
|
|
305
|
-
|
|
|
306
|
-
|
|
|
307
|
-
|
|
|
308
|
-
|
|
|
293
|
+
|
|
294
|
+
| Agent | `--agent` | Project Path | Global Path |
|
|
295
|
+
| -------------------------------------------- | -------------------------------------------------------- | ------------------------ | ----------------------------------- |
|
|
296
|
+
| AiderDesk | `aider-desk` | `.aider-desk/skills/` | `~/.aider-desk/skills/` |
|
|
297
|
+
| Amp, Replit, Universal | `amp`, `replit`, `universal` | `.agents/skills/` | `~/.config/agents/skills/` |
|
|
298
|
+
| Antigravity | `antigravity` | `.agents/skills/` | `~/.gemini/antigravity/skills/` |
|
|
299
|
+
| Antigravity CLI | `antigravity-cli` | `.agents/skills/` | `~/.gemini/antigravity-cli/skills/` |
|
|
300
|
+
| AstrBot | `astrbot` | `data/skills/` | `~/.astrbot/data/skills/` |
|
|
301
|
+
| Autohand Code CLI | `autohand-code` | `.autohand/skills/` | `~/.autohand/skills/` |
|
|
302
|
+
| Augment | `augment` | `.augment/skills/` | `~/.augment/skills/` |
|
|
303
|
+
| IBM Bob | `bob` | `.bob/skills/` | `~/.bob/skills/` |
|
|
304
|
+
| Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
|
|
305
|
+
| OpenClaw | `openclaw` | `skills/` | `~/.openclaw/skills/` |
|
|
306
|
+
| Cline, Dexto, Kimi Code CLI, Loaf, Warp, Zed | `cline`, `dexto`, `kimi-code-cli`, `loaf`, `warp`, `zed` | `.agents/skills/` | `~/.agents/skills/` |
|
|
307
|
+
| CodeArts Agent | `codearts-agent` | `.codeartsdoer/skills/` | `~/.codeartsdoer/skills/` |
|
|
308
|
+
| CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~/.codebuddy/skills/` |
|
|
309
|
+
| Codemaker | `codemaker` | `.codemaker/skills/` | `~/.codemaker/skills/` |
|
|
310
|
+
| Code Studio | `codestudio` | `.codestudio/skills/` | `~/.codestudio/skills/` |
|
|
311
|
+
| Codex | `codex` | `.agents/skills/` | `~/.codex/skills/` |
|
|
312
|
+
| Command Code | `command-code` | `.commandcode/skills/` | `~/.commandcode/skills/` |
|
|
313
|
+
| Continue | `continue` | `.continue/skills/` | `~/.continue/skills/` |
|
|
314
|
+
| Cortex Code | `cortex` | `.cortex/skills/` | `~/.snowflake/cortex/skills/` |
|
|
315
|
+
| Crush | `crush` | `.crush/skills/` | `~/.config/crush/skills/` |
|
|
316
|
+
| Cursor | `cursor` | `.agents/skills/` | `~/.cursor/skills/` |
|
|
317
|
+
| Deep Agents | `deepagents` | `.agents/skills/` | `~/.deepagents/agent/skills/` |
|
|
318
|
+
| Devin for Terminal | `devin` | `.devin/skills/` | `~/.config/devin/skills/` |
|
|
319
|
+
| Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
|
|
320
|
+
| Eve | `eve` | `agent/skills/` | N/A (project-only) |
|
|
321
|
+
| Firebender | `firebender` | `.agents/skills/` | `~/.firebender/skills/` |
|
|
322
|
+
| ForgeCode | `forgecode` | `.forge/skills/` | `~/.forge/skills/` |
|
|
323
|
+
| Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
|
|
324
|
+
| GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
|
|
325
|
+
| Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
|
|
326
|
+
| Hermes Agent | `hermes-agent` | `.hermes/skills/` | `~/.hermes/skills/` |
|
|
327
|
+
| inference.sh | `inference-sh` | `.inferencesh/skills/` | `~/.inferencesh/skills/` |
|
|
328
|
+
| Jazz | `jazz` | `.jazz/skills/` | `~/.jazz/skills/` |
|
|
329
|
+
| Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
|
|
330
|
+
| iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
|
|
331
|
+
| Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
|
|
332
|
+
| Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
|
|
333
|
+
| Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
|
|
334
|
+
| Lingma | `lingma` | `.lingma/skills/` | `~/.lingma/skills/` |
|
|
335
|
+
| MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
|
|
336
|
+
| Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
|
|
337
|
+
| Moxby | `moxby` | `.moxby/skills/` | `~/.moxby/skills/` |
|
|
338
|
+
| Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
|
|
339
|
+
| OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
|
|
340
|
+
| OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
|
|
341
|
+
| Ona | `ona` | `.ona/skills/` | `~/.ona/skills/` |
|
|
342
|
+
| Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
|
|
343
|
+
| Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
|
|
344
|
+
| Qoder CN | `qoder-cn` | `.qoder/skills/` | `~/.qoder-cn/skills/` |
|
|
345
|
+
| Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
|
|
346
|
+
| Reasonix | `reasonix` | `.reasonix/skills/` | `~/.reasonix/skills/` |
|
|
347
|
+
| Rovo Dev | `rovodev` | `.rovodev/skills/` | `~/.rovodev/skills/` |
|
|
348
|
+
| Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
|
|
349
|
+
| Tabnine CLI | `tabnine-cli` | `.tabnine/agent/skills/` | `~/.tabnine/agent/skills/` |
|
|
350
|
+
| Terramind | `terramind` | `.terramind/skills/` | `~/.terramind/skills/` |
|
|
351
|
+
| Tinycloud | `tinycloud` | `.tinycloud/skills/` | `~/.tinycloud/skills/` |
|
|
352
|
+
| Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
|
|
353
|
+
| Trae CN | `trae-cn` | `.trae/skills/` | `~/.trae-cn/skills/` |
|
|
354
|
+
| Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
|
|
355
|
+
| Zencoder, Zenflow | `zencoder`, `zenflow` | `.zencoder/skills/` | `~/.zencoder/skills/` |
|
|
356
|
+
| Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
|
|
357
|
+
| Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
|
|
358
|
+
| PromptScript | `promptscript` | `.agents/skills/` | N/A (project-only) |
|
|
359
|
+
| AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
|
|
360
|
+
|
|
309
361
|
<!-- supported-agents:end -->
|
|
310
362
|
|
|
311
363
|
> [!NOTE]
|
|
@@ -376,6 +428,7 @@ to also discover `SKILL.md` files outside these container directories
|
|
|
376
428
|
(e.g. under `examples/` or `tests/`).
|
|
377
429
|
|
|
378
430
|
<!-- skill-discovery:start -->
|
|
431
|
+
|
|
379
432
|
- Root directory (if it contains `SKILL.md`)
|
|
380
433
|
- `skills/`
|
|
381
434
|
- `skills/.curated/`
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as __toESM } from "../rolldown-runtime.mjs";
|
|
2
2
|
import { n as require_src, t as require_dist } from "./@kwsites/file-exists.mjs";
|
|
3
3
|
import { t as require_dist$1 } from "./@kwsites/promise-deferred.mjs";
|
|
4
|
+
import { normalize } from "node:path";
|
|
4
5
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
5
6
|
import { spawn } from "child_process";
|
|
6
|
-
import { normalize } from "node:path";
|
|
7
7
|
import { EventEmitter } from "node:events";
|
|
8
8
|
var import_dist = require_dist();
|
|
9
9
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|