@heurist-network/skills 0.1.4 → 0.1.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 (4) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +162 -162
  3. package/dist/cli.js +246 -29
  4. package/package.json +53 -53
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Heurist
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Heurist
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,162 +1,162 @@
1
- # @heurist-network/skills
2
-
3
- A CLI for browsing, installing, and managing verified AI agent skills from the [Heurist Mesh](https://mesh.heurist.ai) skill marketplace.
4
-
5
- Skills are reusable instruction sets (`SKILL.md` files) that extend coding agent capabilities. The Heurist marketplace focuses on verified, secure skills across crypto, finance, market intelligence, social data, and developer workflows: every new skill and every new version is audited before it can be installed, only `verified` skills are available through the CLI, sensitive capabilities trigger explicit warnings, and all marketplace artifacts are stored on [Autonomys](https://autonomys.xyz) decentralized storage with SHA256 integrity tracking.
6
-
7
- ## Quick Start
8
-
9
- ```bash
10
- npx @heurist-network/skills add heurist-mesh
11
- ```
12
-
13
- Or install globally:
14
-
15
- ```bash
16
- npm i -g @heurist-network/skills
17
- heurist-skills add heurist-mesh
18
- ```
19
-
20
- ## Commands
21
-
22
- ### `add <slug>`
23
-
24
- Install a verified skill from the marketplace. Aliases: `install`
25
-
26
- ```bash
27
- # Interactive — prompts for agent, scope, and method
28
- heurist-skills add binance-web3-trading-signal
29
-
30
- # Non-interactive
31
- heurist-skills add binance-web3-trading-signal -a claude-code -g -y
32
-
33
- # Copy instead of symlink
34
- heurist-skills add binance-web3-spot --copy -y
35
-
36
- # Target multiple agents
37
- heurist-skills add binance-web3-meme-rush -a claude-code roo -y
38
-
39
- # Interactive search (no slug)
40
- heurist-skills add
41
- ```
42
-
43
- | Flag | Description |
44
- |------|-------------|
45
- | `-a, --agent <agent...>` | Target specific agents |
46
- | `-g, --global` | Install to global scope (`~/.agents/skills/`) |
47
- | `--copy` | Copy files instead of symlinking |
48
- | `-y, --yes` | Skip all confirmation prompts |
49
-
50
- ### `find [query]`
51
-
52
- Search the skill marketplace.
53
-
54
- ```bash
55
- heurist-skills find heurist
56
- heurist-skills find --category Stocks
57
- heurist-skills find # browse all
58
- ```
59
-
60
- Aliases: `search`, `f`
61
-
62
- ### `list`
63
-
64
- List installed skills or browse the marketplace.
65
-
66
- ```bash
67
- heurist-skills list # project-installed skills
68
- heurist-skills list --global # global-installed skills
69
- heurist-skills list --remote # browse marketplace
70
- heurist-skills list --remote -c Crypto # filter by category
71
- heurist-skills list -a claude-code # filter by agent
72
- ```
73
-
74
- Aliases: `ls`
75
-
76
- ### `info <slug>`
77
-
78
- Show detailed skill information including capabilities, files, and install state.
79
-
80
- ```bash
81
- heurist-skills info heurist-mesh
82
- ```
83
-
84
- Aliases: `show`
85
-
86
- ### `remove [slug]`
87
-
88
- Uninstall a skill. Agent-aware and orphan-safe.
89
-
90
- ```bash
91
- heurist-skills remove binance-web3-spot -y
92
- heurist-skills remove binance-web3-spot --global -y
93
- heurist-skills remove binance-web3-spot -a roo -y # remove from one agent only
94
- heurist-skills remove # interactive selector
95
- ```
96
-
97
- | Flag | Description |
98
- |------|-------------|
99
- | `-a, --agent <agent...>` | Remove from specific agents only |
100
- | `-g, --global` | Target global scope |
101
- | `--all` | Remove all installed skills |
102
- | `-y, --yes` | Skip confirmation |
103
-
104
- Aliases: `rm`, `uninstall`
105
-
106
- ### `check`
107
-
108
- Check installed skills for available updates (report-only).
109
-
110
- ```bash
111
- heurist-skills check
112
- ```
113
-
114
- Aliases: `check-updates`, `update-check`
115
-
116
- ## Installation Scope
117
-
118
- | Scope | Canonical Path | Lock File |
119
- |-------|---------------|-----------|
120
- | **Project** (default) | `.agents/skills/<slug>/` | `./skills-lock.json` |
121
- | **Global** (`-g`) | `~/.agents/skills/<slug>/` | `~/.agents/.skill-lock.json` |
122
-
123
- The project lock file (`skills-lock.json`) is designed to be committed to git for reproducible setups.
124
-
125
- ## Installation Methods
126
-
127
- **Symlink** (default) — Writes skill files to a single canonical directory, then creates symlinks into each agent's native skills path. One source of truth, easy to update.
128
-
129
- **Copy** (`--copy`) — Writes independent copies into each agent's directory. Use when symlinks are not supported.
130
-
131
- ## Supported Agents
132
-
133
- | Agent | Project Path | Global Path |
134
- |-------|-------------|-------------|
135
- | Claude Code | `.claude/skills/` | `~/.claude/skills/` |
136
- | Cursor | `.agents/skills/` | `~/.cursor/skills/` |
137
- | Codex | `.agents/skills/` | `~/.codex/skills/` |
138
- | OpenCode | `.agents/skills/` | `~/.config/opencode/skills/` |
139
- | Cline | `.agents/skills/` | `~/.agents/skills/` |
140
- | Windsurf | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
141
- | Gemini CLI | `.agents/skills/` | `~/.gemini/skills/` |
142
- | GitHub Copilot | `.agents/skills/` | `~/.copilot/skills/` |
143
- | Roo Code | `.roo/skills/` | `~/.roo/skills/` |
144
- | Continue | `.continue/skills/` | `~/.continue/skills/` |
145
-
146
- Agents that share `.agents/skills/` (Cursor, Codex, OpenCode, Cline, Gemini CLI, GitHub Copilot) are "universal" — they read skills from the same canonical directory. Non-universal agents (Claude Code, Windsurf, Roo Code, Continue) have their own paths and receive symlinks or copies.
147
-
148
- The CLI auto-detects which agents are installed on your system. If one agent is found, it installs silently. If multiple are found, it prompts for selection.
149
-
150
- ## Configuration
151
-
152
- | Variable | Description |
153
- |----------|-------------|
154
- | `HEURIST_SKILLS_API` | Override marketplace API URL (default: `https://mesh.heurist.xyz`) |
155
-
156
- ## Lock File Compatibility
157
-
158
- The lock files are compatible with the [vercel/skills](https://github.com/vercel-labs/skills) format. If you have existing vercel skill entries in `~/.agents/.skill-lock.json`, they are preserved — the CLI reads and writes only its own entries without disturbing foreign entries.
159
-
160
- ## License
161
-
162
- MIT
1
+ # @heurist-network/skills
2
+
3
+ A CLI for browsing, installing, and managing verified AI agent skills from the [Heurist Mesh](https://mesh.heurist.ai) skill marketplace.
4
+
5
+ Skills are reusable instruction sets (`SKILL.md` files) that extend coding agent capabilities. The Heurist marketplace focuses on verified, secure skills across crypto, finance, market intelligence, social data, and developer workflows: every new skill and every new version is audited before it can be installed, only `verified` skills are available through the CLI, sensitive capabilities trigger explicit warnings, and all marketplace artifacts are stored on [Autonomys](https://autonomys.xyz) decentralized storage with SHA256 integrity tracking.
6
+
7
+ ## Quick Start
8
+
9
+ ```bash
10
+ npx @heurist-network/skills add heurist-mesh
11
+ ```
12
+
13
+ Or install globally:
14
+
15
+ ```bash
16
+ npm i -g @heurist-network/skills
17
+ heurist-skills add heurist-mesh
18
+ ```
19
+
20
+ ## Commands
21
+
22
+ ### `add <slug>`
23
+
24
+ Install a verified skill from the marketplace. Aliases: `install`
25
+
26
+ ```bash
27
+ # Interactive — prompts for agent, scope, and method
28
+ heurist-skills add binance-web3-trading-signal
29
+
30
+ # Non-interactive
31
+ heurist-skills add binance-web3-trading-signal -a claude-code -g -y
32
+
33
+ # Copy instead of symlink
34
+ heurist-skills add binance-web3-spot --copy -y
35
+
36
+ # Target multiple agents
37
+ heurist-skills add binance-web3-meme-rush -a claude-code roo -y
38
+
39
+ # Interactive search (no slug)
40
+ heurist-skills add
41
+ ```
42
+
43
+ | Flag | Description |
44
+ |------|-------------|
45
+ | `-a, --agent <agent...>` | Target specific agents |
46
+ | `-g, --global` | Install to global scope (`~/.agents/skills/`) |
47
+ | `--copy` | Copy files instead of symlinking |
48
+ | `-y, --yes` | Skip all confirmation prompts |
49
+
50
+ ### `find [query]`
51
+
52
+ Search the skill marketplace.
53
+
54
+ ```bash
55
+ heurist-skills find heurist
56
+ heurist-skills find --category Stocks
57
+ heurist-skills find # browse all
58
+ ```
59
+
60
+ Aliases: `search`, `f`
61
+
62
+ ### `list`
63
+
64
+ List installed skills or browse the marketplace.
65
+
66
+ ```bash
67
+ heurist-skills list # project-installed skills
68
+ heurist-skills list --global # global-installed skills
69
+ heurist-skills list --remote # browse marketplace
70
+ heurist-skills list --remote -c Crypto # filter by category
71
+ heurist-skills list -a claude-code # filter by agent
72
+ ```
73
+
74
+ Aliases: `ls`
75
+
76
+ ### `info <slug>`
77
+
78
+ Show detailed skill information including capabilities, files, and install state.
79
+
80
+ ```bash
81
+ heurist-skills info heurist-mesh
82
+ ```
83
+
84
+ Aliases: `show`
85
+
86
+ ### `remove [slug]`
87
+
88
+ Uninstall a skill. Agent-aware and orphan-safe.
89
+
90
+ ```bash
91
+ heurist-skills remove binance-web3-spot -y
92
+ heurist-skills remove binance-web3-spot --global -y
93
+ heurist-skills remove binance-web3-spot -a roo -y # remove from one agent only
94
+ heurist-skills remove # interactive selector
95
+ ```
96
+
97
+ | Flag | Description |
98
+ |------|-------------|
99
+ | `-a, --agent <agent...>` | Remove from specific agents only |
100
+ | `-g, --global` | Target global scope |
101
+ | `--all` | Remove all installed skills |
102
+ | `-y, --yes` | Skip confirmation |
103
+
104
+ Aliases: `rm`, `uninstall`
105
+
106
+ ### `check`
107
+
108
+ Check installed skills for available updates (report-only).
109
+
110
+ ```bash
111
+ heurist-skills check
112
+ ```
113
+
114
+ Aliases: `check-updates`, `update-check`
115
+
116
+ ## Installation Scope
117
+
118
+ | Scope | Canonical Path | Lock File |
119
+ |-------|---------------|-----------|
120
+ | **Project** (default) | `.agents/skills/<slug>/` | `./skills-lock.json` |
121
+ | **Global** (`-g`) | `~/.agents/skills/<slug>/` | `~/.agents/.skill-lock.json` |
122
+
123
+ The project lock file (`skills-lock.json`) is designed to be committed to git for reproducible setups.
124
+
125
+ ## Installation Methods
126
+
127
+ **Symlink** (default) — Writes skill files to a single canonical directory, then creates symlinks into each agent's native skills path. One source of truth, easy to update.
128
+
129
+ **Copy** (`--copy`) — Writes independent copies into each agent's directory. Use when symlinks are not supported.
130
+
131
+ ## Supported Agents
132
+
133
+ | Agent | Project Path | Global Path |
134
+ |-------|-------------|-------------|
135
+ | Claude Code | `.claude/skills/` | `~/.claude/skills/` |
136
+ | Cursor | `.agents/skills/` | `~/.cursor/skills/` |
137
+ | Codex | `.agents/skills/` | `~/.codex/skills/` |
138
+ | OpenCode | `.agents/skills/` | `~/.config/opencode/skills/` |
139
+ | Cline | `.agents/skills/` | `~/.agents/skills/` |
140
+ | Windsurf | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
141
+ | Gemini CLI | `.agents/skills/` | `~/.gemini/skills/` |
142
+ | GitHub Copilot | `.agents/skills/` | `~/.copilot/skills/` |
143
+ | Roo Code | `.roo/skills/` | `~/.roo/skills/` |
144
+ | Continue | `.continue/skills/` | `~/.continue/skills/` |
145
+
146
+ Agents that share `.agents/skills/` (Cursor, Codex, OpenCode, Cline, Gemini CLI, GitHub Copilot) are "universal" — they read skills from the same canonical directory. Non-universal agents (Claude Code, Windsurf, Roo Code, Continue) have their own paths and receive symlinks or copies.
147
+
148
+ The CLI auto-detects which agents are installed on your system. If one agent is found, it installs silently. If multiple are found, it prompts for selection.
149
+
150
+ ## Configuration
151
+
152
+ | Variable | Description |
153
+ |----------|-------------|
154
+ | `HEURIST_SKILLS_API` | Override marketplace API URL (default: `https://mesh.heurist.xyz`) |
155
+
156
+ ## Lock File Compatibility
157
+
158
+ The lock files are compatible with the [vercel/skills](https://github.com/vercel-labs/skills) format. If you have existing vercel skill entries in `~/.agents/.skill-lock.json`, they are preserved — the CLI reads and writes only its own entries without disturbing foreign entries.
159
+
160
+ ## License
161
+
162
+ MIT
package/dist/cli.js CHANGED
@@ -83,6 +83,18 @@ var init_api = __esm({
83
83
  import { existsSync } from "fs";
84
84
  import { homedir } from "os";
85
85
  import { join } from "path";
86
+ function getOpenClawGlobalSkillsDir(homeDir = home, pathExists2 = existsSync) {
87
+ if (pathExists2(join(homeDir, ".openclaw"))) {
88
+ return join(homeDir, ".openclaw/skills");
89
+ }
90
+ if (pathExists2(join(homeDir, ".clawdbot"))) {
91
+ return join(homeDir, ".clawdbot/skills");
92
+ }
93
+ if (pathExists2(join(homeDir, ".moltbot"))) {
94
+ return join(homeDir, ".moltbot/skills");
95
+ }
96
+ return join(homeDir, ".openclaw/skills");
97
+ }
86
98
  async function detectInstalledAgents() {
87
99
  const installed = [];
88
100
  for (const key of Object.keys(agents)) {
@@ -113,6 +125,34 @@ var init_agents = __esm({
113
125
  codexHome = process.env["CODEX_HOME"]?.trim() || join(home, ".codex");
114
126
  claudeHome = process.env["CLAUDE_CONFIG_DIR"]?.trim() || join(home, ".claude");
115
127
  agents = {
128
+ adal: {
129
+ name: "adal",
130
+ displayName: "AdaL",
131
+ skillsDir: ".adal/skills",
132
+ globalSkillsDir: join(home, ".adal/skills"),
133
+ detectInstalled: () => existsSync(join(home, ".adal"))
134
+ },
135
+ amp: {
136
+ name: "amp",
137
+ displayName: "Amp",
138
+ skillsDir: ".agents/skills",
139
+ globalSkillsDir: join(configHome, "agents/skills"),
140
+ detectInstalled: () => existsSync(join(configHome, "amp"))
141
+ },
142
+ antigravity: {
143
+ name: "antigravity",
144
+ displayName: "Antigravity",
145
+ skillsDir: ".agent/skills",
146
+ globalSkillsDir: join(home, ".gemini/antigravity/skills"),
147
+ detectInstalled: () => existsSync(join(home, ".gemini/antigravity"))
148
+ },
149
+ augment: {
150
+ name: "augment",
151
+ displayName: "Augment",
152
+ skillsDir: ".augment/skills",
153
+ globalSkillsDir: join(home, ".augment/skills"),
154
+ detectInstalled: () => existsSync(join(home, ".augment"))
155
+ },
116
156
  "claude-code": {
117
157
  name: "claude-code",
118
158
  displayName: "Claude Code",
@@ -120,12 +160,19 @@ var init_agents = __esm({
120
160
  globalSkillsDir: join(claudeHome, "skills"),
121
161
  detectInstalled: () => existsSync(claudeHome)
122
162
  },
123
- cursor: {
124
- name: "cursor",
125
- displayName: "Cursor",
163
+ cline: {
164
+ name: "cline",
165
+ displayName: "Cline",
126
166
  skillsDir: ".agents/skills",
127
- globalSkillsDir: join(home, ".cursor/skills"),
128
- detectInstalled: () => existsSync(join(home, ".cursor"))
167
+ globalSkillsDir: join(home, ".agents/skills"),
168
+ detectInstalled: () => existsSync(join(home, ".cline"))
169
+ },
170
+ codebuddy: {
171
+ name: "codebuddy",
172
+ displayName: "CodeBuddy",
173
+ skillsDir: ".codebuddy/skills",
174
+ globalSkillsDir: join(home, ".codebuddy/skills"),
175
+ detectInstalled: () => existsSync(join(process.cwd(), ".codebuddy")) || existsSync(join(home, ".codebuddy"))
129
176
  },
130
177
  codex: {
131
178
  name: "codex",
@@ -134,26 +181,47 @@ var init_agents = __esm({
134
181
  globalSkillsDir: join(codexHome, "skills"),
135
182
  detectInstalled: () => existsSync(codexHome) || existsSync("/etc/codex")
136
183
  },
137
- opencode: {
138
- name: "opencode",
139
- displayName: "OpenCode",
140
- skillsDir: ".agents/skills",
141
- globalSkillsDir: join(configHome, "opencode/skills"),
142
- detectInstalled: () => existsSync(join(configHome, "opencode"))
184
+ "command-code": {
185
+ name: "command-code",
186
+ displayName: "Command Code",
187
+ skillsDir: ".commandcode/skills",
188
+ globalSkillsDir: join(home, ".commandcode/skills"),
189
+ detectInstalled: () => existsSync(join(home, ".commandcode"))
143
190
  },
144
- cline: {
145
- name: "cline",
146
- displayName: "Cline",
191
+ continue: {
192
+ name: "continue",
193
+ displayName: "Continue",
194
+ skillsDir: ".continue/skills",
195
+ globalSkillsDir: join(home, ".continue/skills"),
196
+ detectInstalled: () => existsSync(join(process.cwd(), ".continue")) || existsSync(join(home, ".continue"))
197
+ },
198
+ cortex: {
199
+ name: "cortex",
200
+ displayName: "Cortex Code",
201
+ skillsDir: ".cortex/skills",
202
+ globalSkillsDir: join(home, ".snowflake/cortex/skills"),
203
+ detectInstalled: () => existsSync(join(home, ".snowflake/cortex"))
204
+ },
205
+ crush: {
206
+ name: "crush",
207
+ displayName: "Crush",
208
+ skillsDir: ".crush/skills",
209
+ globalSkillsDir: join(home, ".config/crush/skills"),
210
+ detectInstalled: () => existsSync(join(home, ".config/crush"))
211
+ },
212
+ cursor: {
213
+ name: "cursor",
214
+ displayName: "Cursor",
147
215
  skillsDir: ".agents/skills",
148
- globalSkillsDir: join(home, ".agents/skills"),
149
- detectInstalled: () => existsSync(join(home, ".cline"))
216
+ globalSkillsDir: join(home, ".cursor/skills"),
217
+ detectInstalled: () => existsSync(join(home, ".cursor"))
150
218
  },
151
- windsurf: {
152
- name: "windsurf",
153
- displayName: "Windsurf",
154
- skillsDir: ".windsurf/skills",
155
- globalSkillsDir: join(home, ".codeium/windsurf/skills"),
156
- detectInstalled: () => existsSync(join(home, ".codeium/windsurf"))
219
+ droid: {
220
+ name: "droid",
221
+ displayName: "Droid",
222
+ skillsDir: ".factory/skills",
223
+ globalSkillsDir: join(home, ".factory/skills"),
224
+ detectInstalled: () => existsSync(join(home, ".factory"))
157
225
  },
158
226
  "gemini-cli": {
159
227
  name: "gemini-cli",
@@ -169,6 +237,132 @@ var init_agents = __esm({
169
237
  globalSkillsDir: join(home, ".copilot/skills"),
170
238
  detectInstalled: () => existsSync(join(home, ".copilot"))
171
239
  },
240
+ goose: {
241
+ name: "goose",
242
+ displayName: "Goose",
243
+ skillsDir: ".goose/skills",
244
+ globalSkillsDir: join(configHome, "goose/skills"),
245
+ detectInstalled: () => existsSync(join(configHome, "goose"))
246
+ },
247
+ "iflow-cli": {
248
+ name: "iflow-cli",
249
+ displayName: "iFlow CLI",
250
+ skillsDir: ".iflow/skills",
251
+ globalSkillsDir: join(home, ".iflow/skills"),
252
+ detectInstalled: () => existsSync(join(home, ".iflow"))
253
+ },
254
+ junie: {
255
+ name: "junie",
256
+ displayName: "Junie",
257
+ skillsDir: ".junie/skills",
258
+ globalSkillsDir: join(home, ".junie/skills"),
259
+ detectInstalled: () => existsSync(join(home, ".junie"))
260
+ },
261
+ kilo: {
262
+ name: "kilo",
263
+ displayName: "Kilo Code",
264
+ skillsDir: ".kilocode/skills",
265
+ globalSkillsDir: join(home, ".kilocode/skills"),
266
+ detectInstalled: () => existsSync(join(home, ".kilocode"))
267
+ },
268
+ "kimi-cli": {
269
+ name: "kimi-cli",
270
+ displayName: "Kimi Code CLI",
271
+ skillsDir: ".agents/skills",
272
+ globalSkillsDir: join(home, ".config/agents/skills"),
273
+ detectInstalled: () => existsSync(join(home, ".kimi"))
274
+ },
275
+ "kiro-cli": {
276
+ name: "kiro-cli",
277
+ displayName: "Kiro CLI",
278
+ skillsDir: ".kiro/skills",
279
+ globalSkillsDir: join(home, ".kiro/skills"),
280
+ detectInstalled: () => existsSync(join(home, ".kiro"))
281
+ },
282
+ kode: {
283
+ name: "kode",
284
+ displayName: "Kode",
285
+ skillsDir: ".kode/skills",
286
+ globalSkillsDir: join(home, ".kode/skills"),
287
+ detectInstalled: () => existsSync(join(home, ".kode"))
288
+ },
289
+ mcpjam: {
290
+ name: "mcpjam",
291
+ displayName: "MCPJam",
292
+ skillsDir: ".mcpjam/skills",
293
+ globalSkillsDir: join(home, ".mcpjam/skills"),
294
+ detectInstalled: () => existsSync(join(home, ".mcpjam"))
295
+ },
296
+ "mistral-vibe": {
297
+ name: "mistral-vibe",
298
+ displayName: "Mistral Vibe",
299
+ skillsDir: ".vibe/skills",
300
+ globalSkillsDir: join(home, ".vibe/skills"),
301
+ detectInstalled: () => existsSync(join(home, ".vibe"))
302
+ },
303
+ mux: {
304
+ name: "mux",
305
+ displayName: "Mux",
306
+ skillsDir: ".mux/skills",
307
+ globalSkillsDir: join(home, ".mux/skills"),
308
+ detectInstalled: () => existsSync(join(home, ".mux"))
309
+ },
310
+ neovate: {
311
+ name: "neovate",
312
+ displayName: "Neovate",
313
+ skillsDir: ".neovate/skills",
314
+ globalSkillsDir: join(home, ".neovate/skills"),
315
+ detectInstalled: () => existsSync(join(home, ".neovate"))
316
+ },
317
+ openclaw: {
318
+ name: "openclaw",
319
+ displayName: "OpenClaw",
320
+ skillsDir: "skills",
321
+ globalSkillsDir: getOpenClawGlobalSkillsDir(),
322
+ detectInstalled: () => existsSync(join(home, ".openclaw")) || existsSync(join(home, ".clawdbot")) || existsSync(join(home, ".moltbot"))
323
+ },
324
+ opencode: {
325
+ name: "opencode",
326
+ displayName: "OpenCode",
327
+ skillsDir: ".agents/skills",
328
+ globalSkillsDir: join(configHome, "opencode/skills"),
329
+ detectInstalled: () => existsSync(join(configHome, "opencode"))
330
+ },
331
+ openhands: {
332
+ name: "openhands",
333
+ displayName: "OpenHands",
334
+ skillsDir: ".openhands/skills",
335
+ globalSkillsDir: join(home, ".openhands/skills"),
336
+ detectInstalled: () => existsSync(join(home, ".openhands"))
337
+ },
338
+ pi: {
339
+ name: "pi",
340
+ displayName: "Pi",
341
+ skillsDir: ".pi/skills",
342
+ globalSkillsDir: join(home, ".pi/agent/skills"),
343
+ detectInstalled: () => existsSync(join(home, ".pi/agent"))
344
+ },
345
+ pochi: {
346
+ name: "pochi",
347
+ displayName: "Pochi",
348
+ skillsDir: ".pochi/skills",
349
+ globalSkillsDir: join(home, ".pochi/skills"),
350
+ detectInstalled: () => existsSync(join(home, ".pochi"))
351
+ },
352
+ qoder: {
353
+ name: "qoder",
354
+ displayName: "Qoder",
355
+ skillsDir: ".qoder/skills",
356
+ globalSkillsDir: join(home, ".qoder/skills"),
357
+ detectInstalled: () => existsSync(join(home, ".qoder"))
358
+ },
359
+ "qwen-code": {
360
+ name: "qwen-code",
361
+ displayName: "Qwen Code",
362
+ skillsDir: ".qwen/skills",
363
+ globalSkillsDir: join(home, ".qwen/skills"),
364
+ detectInstalled: () => existsSync(join(home, ".qwen"))
365
+ },
172
366
  roo: {
173
367
  name: "roo",
174
368
  displayName: "Roo Code",
@@ -176,12 +370,33 @@ var init_agents = __esm({
176
370
  globalSkillsDir: join(home, ".roo/skills"),
177
371
  detectInstalled: () => existsSync(join(home, ".roo"))
178
372
  },
179
- continue: {
180
- name: "continue",
181
- displayName: "Continue",
182
- skillsDir: ".continue/skills",
183
- globalSkillsDir: join(home, ".continue/skills"),
184
- detectInstalled: () => existsSync(join(process.cwd(), ".continue")) || existsSync(join(home, ".continue"))
373
+ trae: {
374
+ name: "trae",
375
+ displayName: "Trae",
376
+ skillsDir: ".trae/skills",
377
+ globalSkillsDir: join(home, ".trae/skills"),
378
+ detectInstalled: () => existsSync(join(home, ".trae"))
379
+ },
380
+ "trae-cn": {
381
+ name: "trae-cn",
382
+ displayName: "Trae CN",
383
+ skillsDir: ".trae/skills",
384
+ globalSkillsDir: join(home, ".trae-cn/skills"),
385
+ detectInstalled: () => existsSync(join(home, ".trae-cn"))
386
+ },
387
+ windsurf: {
388
+ name: "windsurf",
389
+ displayName: "Windsurf",
390
+ skillsDir: ".windsurf/skills",
391
+ globalSkillsDir: join(home, ".codeium/windsurf/skills"),
392
+ detectInstalled: () => existsSync(join(home, ".codeium/windsurf"))
393
+ },
394
+ zencoder: {
395
+ name: "zencoder",
396
+ displayName: "Zencoder",
397
+ skillsDir: ".zencoder/skills",
398
+ globalSkillsDir: join(home, ".zencoder/skills"),
399
+ detectInstalled: () => existsSync(join(home, ".zencoder"))
185
400
  }
186
401
  };
187
402
  }
@@ -1573,10 +1788,12 @@ var init_update = __esm({
1573
1788
  });
1574
1789
 
1575
1790
  // src/cli.ts
1791
+ import { createRequire } from "module";
1576
1792
  import "dotenv/config";
1577
1793
  import * as p7 from "@clack/prompts";
1578
1794
  import pc7 from "picocolors";
1579
- var VERSION = "0.1.0";
1795
+ var require2 = createRequire(import.meta.url);
1796
+ var { version: VERSION } = require2("../package.json");
1580
1797
  var LOGO = `
1581
1798
  ${pc7.cyan("\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557")}
1582
1799
  ${pc7.cyan("\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255D")}
package/package.json CHANGED
@@ -1,53 +1,53 @@
1
- {
2
- "name": "@heurist-network/skills",
3
- "version": "0.1.4",
4
- "description": "CLI tool for browsing, installing, and managing Heurist Mesh skills from the skill marketplace registry.",
5
- "type": "module",
6
- "bin": {
7
- "heurist-skills": "bin/cli.mjs"
8
- },
9
- "files": [
10
- "dist",
11
- "bin",
12
- "README.md"
13
- ],
14
- "scripts": {
15
- "build": "tsup",
16
- "dev": "tsx src/cli.ts",
17
- "format": "prettier --write 'src/**/*.ts'",
18
- "format:check": "prettier --check 'src/**/*.ts'",
19
- "type-check": "tsc --noEmit"
20
- },
21
- "keywords": [
22
- "cli",
23
- "skills",
24
- "heurist",
25
- "ai-agents",
26
- "skill-marketplace",
27
- "crypto",
28
- "defi"
29
- ],
30
- "repository": {
31
- "type": "git",
32
- "url": "git+https://github.com/heurist-network/heurist-skills-cli.git"
33
- },
34
- "author": "Heurist Network",
35
- "license": "MIT",
36
- "dependencies": {
37
- "@clack/prompts": "^0.11.0",
38
- "dotenv": "^17.3.1",
39
- "gray-matter": "^4.0.3",
40
- "picocolors": "^1.1.1"
41
- },
42
- "devDependencies": {
43
- "@types/node": "^22.10.0",
44
- "prettier": "^3.8.1",
45
- "tsup": "^8.4.0",
46
- "tsx": "^4.19.0",
47
- "typescript": "^5.9.3"
48
- },
49
- "engines": {
50
- "node": ">=18"
51
- },
52
- "packageManager": "pnpm@10.30.3"
53
- }
1
+ {
2
+ "name": "@heurist-network/skills",
3
+ "version": "0.1.6",
4
+ "description": "CLI tool for browsing, installing, and managing Heurist Mesh skills from the skill marketplace registry.",
5
+ "type": "module",
6
+ "bin": {
7
+ "heurist-skills": "bin/cli.mjs"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "bin",
12
+ "README.md"
13
+ ],
14
+ "scripts": {
15
+ "build": "tsup",
16
+ "dev": "tsx src/cli.ts",
17
+ "format": "prettier --write 'src/**/*.ts'",
18
+ "format:check": "prettier --check 'src/**/*.ts'",
19
+ "type-check": "tsc --noEmit"
20
+ },
21
+ "keywords": [
22
+ "cli",
23
+ "skills",
24
+ "heurist",
25
+ "ai-agents",
26
+ "skill-marketplace",
27
+ "crypto",
28
+ "defi"
29
+ ],
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "git+https://github.com/heurist-network/heurist-skills-cli.git"
33
+ },
34
+ "author": "Heurist Network",
35
+ "license": "MIT",
36
+ "dependencies": {
37
+ "@clack/prompts": "^0.11.0",
38
+ "dotenv": "^17.3.1",
39
+ "gray-matter": "^4.0.3",
40
+ "picocolors": "^1.1.1"
41
+ },
42
+ "devDependencies": {
43
+ "@types/node": "^22.10.0",
44
+ "prettier": "^3.8.1",
45
+ "tsup": "^8.4.0",
46
+ "tsx": "^4.19.0",
47
+ "typescript": "^5.9.3"
48
+ },
49
+ "engines": {
50
+ "node": ">=18"
51
+ },
52
+ "packageManager": "pnpm@10.30.3"
53
+ }