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 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