wittyhub 0.0.4 → 0.0.6

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.
Files changed (3) hide show
  1. package/README.md +165 -98
  2. package/dist/cli.mjs +673 -403
  3. package/package.json +4 -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
- Supports **OpenCode**, **Claude Code**, **Codex**, **Cursor**, and [68 more](#supported-agents).
6
+
7
+ Supports **OpenCode**, **Claude Code**, **Codex**, **Cursor**, and [71 more](#supported-agents).
8
+
7
9
  <!-- agent-list:end -->
8
10
 
9
- [![SkillHub](https://skillhub.openeuler.org/)](https://skillhub.openeuler.org/)
11
+ [![SkillHub](https://skillhub.openeuler.org/assets/logo-XeUCiAZu.svg)](https://skillhub.openeuler.org/)
10
12
 
11
13
  ## Install a Skill
12
14
 
13
15
  ```bash
14
- npx wittyhub install https://gitcode.com/openeuler/witty-diagnosis-agent --skill system-resource-diagnosis
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
- # GitHub shorthand (owner/repo)
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
33
49
 
34
- # Full GitHub URL
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
53
+
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
- # List skills in a repository
66
- npx wittyhub add vercel-labs/agent-skills --list
87
+ # Install by skill_id (recommended for single skills)
88
+ npx wittyhub add gitcode:openeuler/witty-diagnosis-agent/system-resource-diagnosis
89
+
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
67
93
 
68
- # Install specific skills
69
- npx wittyhub add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
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
70
97
 
71
- # Install a skill with spaces in the name (must be quoted)
72
- npx wittyhub add owner/repo --skill "Convex Best Practices"
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 frontend-design -g -a claude-code -y
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 vercel-labs/agent-skills --agent '*' --skill frontend-design
116
+ npx wittyhub add gitcode:openeuler/witty-diagnosis-agent --agent '*' --skill system-resource-diagnosis
88
117
  ```
89
118
 
90
119
  ### Installation Scope
@@ -105,15 +134,17 @@ When installing interactively, you can choose:
105
134
 
106
135
  ## Other Commands
107
136
 
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
- | `npx wittyhub validate <path>` | Validate a local skill for spec compliance |
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 |
117
148
 
118
149
  ### `wittyhub list`
119
150
 
@@ -145,6 +176,24 @@ npx wittyhub find typescript
145
176
  npx wittyhub find react --owner vercel
146
177
  ```
147
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
+
148
197
  ### `wittyhub update`
149
198
 
150
199
  ```bash
@@ -241,74 +290,88 @@ Discover skills at **[SkillHub](https://skillhub.openeuler.org/)**
241
290
  Skills can be installed to any of these agents:
242
291
 
243
292
  <!-- supported-agents:start -->
244
- | Agent | `--agent` | Project Path | Global Path |
245
- |-------|-----------|--------------|-------------|
246
- | AiderDesk | `aider-desk` | `.aider-desk/skills/` | `~/.aider-desk/skills/` |
247
- | Amp, Replit, Universal | `amp`, `replit`, `universal` | `.agents/skills/` | `~/.config/agents/skills/` |
248
- | Antigravity | `antigravity` | `.agents/skills/` | `~/.gemini/antigravity/skills/` |
249
- | Antigravity CLI | `antigravity-cli` | `.agents/skills/` | `~/.gemini/antigravity-cli/skills/` |
250
- | AstrBot | `astrbot` | `data/skills/` | `~/.astrbot/data/skills/` |
251
- | Autohand Code CLI | `autohand-code` | `.autohand/skills/` | `~/.autohand/skills/` |
252
- | Augment | `augment` | `.augment/skills/` | `~/.augment/skills/` |
253
- | IBM Bob | `bob` | `.bob/skills/` | `~/.bob/skills/` |
254
- | Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
255
- | OpenClaw | `openclaw` | `skills/` | `~/.openclaw/skills/` |
256
- | Cline, Dexto, Kimi Code CLI, Loaf, Warp, Zed | `cline`, `dexto`, `kimi-code-cli`, `loaf`, `warp`, `zed` | `.agents/skills/` | `~/.agents/skills/` |
257
- | CodeArts Agent | `codearts-agent` | `.codeartsdoer/skills/` | `~/.codeartsdoer/skills/` |
258
- | CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~/.codebuddy/skills/` |
259
- | Codemaker | `codemaker` | `.codemaker/skills/` | `~/.codemaker/skills/` |
260
- | Code Studio | `codestudio` | `.codestudio/skills/` | `~/.codestudio/skills/` |
261
- | Codex | `codex` | `.agents/skills/` | `~/.codex/skills/` |
262
- | Command Code | `command-code` | `.commandcode/skills/` | `~/.commandcode/skills/` |
263
- | Continue | `continue` | `.continue/skills/` | `~/.continue/skills/` |
264
- | Cortex Code | `cortex` | `.cortex/skills/` | `~/.snowflake/cortex/skills/` |
265
- | Crush | `crush` | `.crush/skills/` | `~/.config/crush/skills/` |
266
- | Cursor | `cursor` | `.agents/skills/` | `~/.cursor/skills/` |
267
- | Deep Agents | `deepagents` | `.agents/skills/` | `~/.deepagents/agent/skills/` |
268
- | Devin for Terminal | `devin` | `.devin/skills/` | `~/.config/devin/skills/` |
269
- | Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
270
- | Eve | `eve` | `agent/skills/` | N/A (project-only) |
271
- | Firebender | `firebender` | `.agents/skills/` | `~/.firebender/skills/` |
272
- | ForgeCode | `forgecode` | `.forge/skills/` | `~/.forge/skills/` |
273
- | Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
274
- | GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
275
- | Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
276
- | Hermes Agent | `hermes-agent` | `.hermes/skills/` | `~/.hermes/skills/` |
277
- | inference.sh | `inference-sh` | `.inferencesh/skills/` | `~/.inferencesh/skills/` |
278
- | Jazz | `jazz` | `.jazz/skills/` | `~/.jazz/skills/` |
279
- | Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
280
- | iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
281
- | Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
282
- | Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
283
- | Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
284
- | Lingma | `lingma` | `.lingma/skills/` | `~/.lingma/skills/` |
285
- | MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
286
- | Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
287
- | Moxby | `moxby` | `.moxby/skills/` | `~/.moxby/skills/` |
288
- | Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
289
- | OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
290
- | OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
291
- | Ona | `ona` | `.ona/skills/` | `~/.ona/skills/` |
292
- | Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
293
- | Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
294
- | Qoder CN | `qoder-cn` | `.qoder/skills/` | `~/.qoder-cn/skills/` |
295
- | Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
296
- | Reasonix | `reasonix` | `.reasonix/skills/` | `~/.reasonix/skills/` |
297
- | Rovo Dev | `rovodev` | `.rovodev/skills/` | `~/.rovodev/skills/` |
298
- | Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
299
- | Tabnine CLI | `tabnine-cli` | `.tabnine/agent/skills/` | `~/.tabnine/agent/skills/` |
300
- | Terramind | `terramind` | `.terramind/skills/` | `~/.terramind/skills/` |
301
- | Tinycloud | `tinycloud` | `.tinycloud/skills/` | `~/.tinycloud/skills/` |
302
- | Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
303
- | Trae CN | `trae-cn` | `.trae/skills/` | `~/.trae-cn/skills/` |
304
- | Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
305
- | Zencoder, Zenflow | `zencoder`, `zenflow` | `.zencoder/skills/` | `~/.zencoder/skills/` |
306
- | Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
307
- | Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
308
- | PromptScript | `promptscript` | `.agents/skills/` | N/A (project-only) |
309
- | AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
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
+ | Doubao | `doubao` | `.doubao/agent_mode/workspace/.user_skills/` | `~/Library/Application Support/Doubao/Default/.doubao/agent_mode/workspace/.user_skills/` |
320
+ | Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
321
+ | Eve | `eve` | `agent/skills/` | N/A (project-only) |
322
+ | Firebender | `firebender` | `.agents/skills/` | `~/.firebender/skills/` |
323
+ | ForgeCode | `forgecode` | `.forge/skills/` | `~/.forge/skills/` |
324
+ | Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
325
+ | GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
326
+ | Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
327
+ | Hermes Agent | `hermes-agent` | `.hermes/skills/` | `~/.hermes/skills/` |
328
+ | inference.sh | `inference-sh` | `.inferencesh/skills/` | `~/.inferencesh/skills/` |
329
+ | Jazz | `jazz` | `.jazz/skills/` | `~/.jazz/skills/` |
330
+ | Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
331
+ | iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
332
+ | Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
333
+ | Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
334
+ | Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
335
+ | Lingma | `lingma` | `.lingma/skills/` | `~/.lingma/skills/` |
336
+ | MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
337
+ | Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
338
+ | Moxby | `moxby` | `.moxby/skills/` | `~/.moxby/skills/` |
339
+ | Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
340
+ | OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
341
+ | OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
342
+ | Ona | `ona` | `.ona/skills/` | `~/.ona/skills/` |
343
+ | Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
344
+ | Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
345
+ | Qoder CN | `qoder-cn` | `.qoder/skills/` | `~/.qoder-cn/skills/` |
346
+ | QoderWork | `qoderwork` | `.qoderwork/skills/` | `~/.qoderwork/skills/` |
347
+ | Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
348
+ | Reasonix | `reasonix` | `.reasonix/skills/` | `~/.reasonix/skills/` |
349
+ | Rovo Dev | `rovodev` | `.rovodev/skills/` | `~/.rovodev/skills/` |
350
+ | Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
351
+ | Tabnine CLI | `tabnine-cli` | `.tabnine/agent/skills/` | `~/.tabnine/agent/skills/` |
352
+ | Terramind | `terramind` | `.terramind/skills/` | `~/.terramind/skills/` |
353
+ | Tinycloud | `tinycloud` | `.tinycloud/skills/` | `~/.tinycloud/skills/` |
354
+ | Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
355
+ | Trae CN | `trae-cn` | `.trae/skills/` | `~/.trae-cn/skills/` |
356
+ | WorkBuddy | `workbuddy` | `.workbuddy/skills/` | `~/.workbuddy/skills/` |
357
+ | Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
358
+ | Zencoder, Zenflow | `zencoder`, `zenflow` | `.zencoder/skills/` | `~/.zencoder/skills/` |
359
+ | Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
360
+ | Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
361
+ | PromptScript | `promptscript` | `.agents/skills/` | N/A (project-only) |
362
+ | AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
363
+
310
364
  <!-- supported-agents:end -->
311
365
 
366
+ > [!NOTE]
367
+ > **Doubao install path:** Doubao only reads user-level skills, so installs always go to its global directory:
368
+ >
369
+ > - macOS: `~/Library/Application Support/Doubao/Default/.doubao/agent_mode/workspace/.user_skills/`
370
+ > - Windows: `%LOCALAPPDATA%\Doubao\User Data\Default\.doubao\agent_mode\workspace\.user_skills\`
371
+ >
372
+ > DoubaoWork uses the same layout under `~/Library/Application Support/DoubaoWork` (macOS) or
373
+ > `%LOCALAPPDATA%\DoubaoWork\User Data` (Windows). There is no official Linux client.
374
+
312
375
  > [!NOTE]
313
376
  > **Kiro CLI users:** The default agent automatically loads skills from `.kiro/skills/` and `~/.kiro/skills/` — no
314
377
  > configuration needed. If you use a **custom agent**, add skills to its `resources` in `.kiro/agents/<agent>.json`:
@@ -377,6 +440,7 @@ to also discover `SKILL.md` files outside these container directories
377
440
  (e.g. under `examples/` or `tests/`).
378
441
 
379
442
  <!-- skill-discovery:start -->
443
+
380
444
  - Root directory (if it contains `SKILL.md`)
381
445
  - `skills/`
382
446
  - `skills/.curated/`
@@ -398,6 +462,7 @@ to also discover `SKILL.md` files outside these container directories
398
462
  - `.cortex/skills/`
399
463
  - `.crush/skills/`
400
464
  - `.devin/skills/`
465
+ - `.doubao/agent_mode/workspace/.user_skills/`
401
466
  - `.factory/skills/`
402
467
  - `agent/skills/`
403
468
  - `.forge/skills/`
@@ -419,6 +484,7 @@ to also discover `SKILL.md` files outside these container directories
419
484
  - `.ona/skills/`
420
485
  - `.pi/skills/`
421
486
  - `.qoder/skills/`
487
+ - `.qoderwork/skills/`
422
488
  - `.qwen/skills/`
423
489
  - `.reasonix/skills/`
424
490
  - `.rovodev/skills/`
@@ -427,6 +493,7 @@ to also discover `SKILL.md` files outside these container directories
427
493
  - `.terramind/skills/`
428
494
  - `.tinycloud/skills/`
429
495
  - `.trae/skills/`
496
+ - `.workbuddy/skills/`
430
497
  - `.windsurf/skills/`
431
498
  - `.zencoder/skills/`
432
499
  - `.neovate/skills/`