skillmux 0.1.0
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 +111 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +1537 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +1535 -0
- package/dist/index.js.map +1 -0
- package/package.json +30 -0
package/README.md
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# SkillMux
|
|
2
|
+
|
|
3
|
+
SkillMux is a local CLI for managing skills across multiple agents. It discovers agent skill directories, keeps a canonical managed store under `.skillmux`, and enables or disables skills by creating or removing symlinks. v0 is local-only: it does not download remote skills or update them from the network.
|
|
4
|
+
|
|
5
|
+
## Requirements
|
|
6
|
+
|
|
7
|
+
- Node.js 20 or newer
|
|
8
|
+
- Windows, Linux, or macOS
|
|
9
|
+
|
|
10
|
+
## Install and build
|
|
11
|
+
|
|
12
|
+
From the repository root:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install
|
|
16
|
+
npm run build
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
For local development, you can also run:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm run test
|
|
23
|
+
npm run typecheck
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
After building, the CLI entrypoint is `dist/cli.js`, exposed as the `skillmux` binary in `package.json`.
|
|
27
|
+
|
|
28
|
+
## Supported commands
|
|
29
|
+
|
|
30
|
+
- `skillmux agents [--json]`
|
|
31
|
+
- Shows the discovered agent directories and whether they exist on disk.
|
|
32
|
+
- `skillmux scan [--json]`
|
|
33
|
+
- Scans discovered agent skill directories.
|
|
34
|
+
- Updates the manifest with the current snapshot.
|
|
35
|
+
- `skillmux list [--view records|agents|skills] [--format table|json]`
|
|
36
|
+
- Lists scan results as raw records, grouped by agent, or grouped by skill.
|
|
37
|
+
- `skillmux import --source <path> --name <name>`
|
|
38
|
+
- Copies an existing local skill into the SkillMux managed store.
|
|
39
|
+
- `skillmux doctor [--json]`
|
|
40
|
+
- Reports configuration, scan, and filesystem issues.
|
|
41
|
+
- `skillmux config [--json]`
|
|
42
|
+
- Shows the resolved SkillMux home path and any user agent overrides.
|
|
43
|
+
- `skillmux enable --skill <skill> --agent <agent>`
|
|
44
|
+
- Enables a managed skill for a target agent by creating a managed symlink.
|
|
45
|
+
- `skillmux disable --skill <skill> --agent <agent>`
|
|
46
|
+
- Disables a managed skill for a target agent by removing the managed symlink.
|
|
47
|
+
|
|
48
|
+
Built-in agent IDs currently recognized by default are:
|
|
49
|
+
|
|
50
|
+
- `codex`
|
|
51
|
+
- `claude`
|
|
52
|
+
- `gemini`
|
|
53
|
+
- `agents`
|
|
54
|
+
- `openclaw`
|
|
55
|
+
|
|
56
|
+
## SkillMux home layout
|
|
57
|
+
|
|
58
|
+
SkillMux stores its local state in `<user home>/.skillmux`.
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
~/.skillmux/
|
|
62
|
+
config.json
|
|
63
|
+
manifest.json
|
|
64
|
+
skills/
|
|
65
|
+
<skill-id>/
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
- `config.json` stores user overrides for agent discovery.
|
|
69
|
+
- `manifest.json` stores managed skills, discovered agent records, activation records, and the last scan snapshot.
|
|
70
|
+
- `skills/<skill-id>/` is the canonical local store for a managed skill. Agent entries point at this store through symlinks or junctions.
|
|
71
|
+
|
|
72
|
+
Default agent skill directories are resolved from the user home directory:
|
|
73
|
+
|
|
74
|
+
- `.codex/skills`
|
|
75
|
+
- `.claude/skills`
|
|
76
|
+
- `.gemini/skills`
|
|
77
|
+
- `.agents/skills`
|
|
78
|
+
- `.openclaw/skills`
|
|
79
|
+
|
|
80
|
+
User overrides in `config.json` can change the agent display name, supported platforms, root path, skills directory path, and default enablement.
|
|
81
|
+
|
|
82
|
+
## Safe usage notes
|
|
83
|
+
|
|
84
|
+
- v0 edits the local filesystem directly. Treat `scan`, `import`, `enable`, and `disable` as state-changing commands.
|
|
85
|
+
- SkillMux refuses to replace a non-link entry when disabling a skill. If an entry is not a managed symlink, it will not blindly overwrite it.
|
|
86
|
+
- `import` is conservative in `v0`: it copies the source skill into `.skillmux/skills/<skill-id>` and leaves the original source directory untouched.
|
|
87
|
+
- The managed store is meant to be the source of truth for enabled skills. Avoid editing files inside agent skill directories by hand.
|
|
88
|
+
- If two agents resolve to the same skills directory, `doctor` reports it as a conflict.
|
|
89
|
+
- On Windows, directory symlinks are handled as junctions.
|
|
90
|
+
- If you change agent paths or config, run `scan` again so the manifest reflects the current filesystem.
|
|
91
|
+
|
|
92
|
+
## Example flow
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
skillmux agents
|
|
96
|
+
skillmux scan
|
|
97
|
+
skillmux import --source C:\path\to\find-skills --name find-skills
|
|
98
|
+
skillmux list --view agents
|
|
99
|
+
skillmux enable --skill find-skills --agent codex
|
|
100
|
+
skillmux disable --skill find-skills --agent claude
|
|
101
|
+
skillmux doctor
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Typical usage is:
|
|
105
|
+
|
|
106
|
+
1. Scan the current environment.
|
|
107
|
+
2. Import a local skill into the managed store.
|
|
108
|
+
3. Inspect agents or skills.
|
|
109
|
+
4. Enable a managed skill for the agents that should see it.
|
|
110
|
+
5. Disable it for agents that should not.
|
|
111
|
+
6. Run `doctor` when you want a quick consistency check.
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|