@klhapp/skillmux 1.10.0 → 1.11.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/CHANGELOG.md +31 -0
- package/README.md +18 -18
- package/docs/README.md +3 -3
- package/docs/assets/architecture-dark.svg +39 -32
- package/docs/assets/architecture-light.svg +25 -18
- package/docs/cli.md +73 -33
- package/docs/concepts.md +10 -10
- package/docs/configuration.md +6 -4
- package/docs/deployment.md +1 -1
- package/docs/getting-started.md +17 -13
- package/docs/mcp-routing.md +1 -1
- package/docs/skill-management.md +11 -11
- package/docs/troubleshooting.md +4 -4
- package/package.json +1 -1
- package/src/adapters.ts +11 -11
- package/src/cli.ts +173 -63
- package/src/commands/audit.ts +2 -2
- package/src/commands/config.ts +23 -15
- package/src/commands/context.ts +11 -10
- package/src/commands/core.ts +2 -2
- package/src/commands/doctor.ts +31 -10
- package/src/commands/eval.ts +14 -4
- package/src/commands/init.ts +175 -124
- package/src/commands/project.ts +161 -44
- package/src/commands/report.ts +3 -3
- package/src/commands/shared.ts +7 -14
- package/src/commands/skill.ts +2 -1
- package/src/commands/target.ts +27 -9
- package/src/completions.ts +41 -15
- package/src/config-service.ts +3 -3
- package/src/init-agents.ts +329 -0
- package/src/init-instructions.ts +47 -28
- package/src/mcp-registration.ts +89 -0
- package/src/output.ts +53 -16
- package/src/prompts.ts +75 -20
- package/src/scan.ts +19 -19
- package/src/server.ts +1 -1
- package/src/init-clients.ts +0 -220
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,37 @@ All notable changes to this project are documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.11.0](https://github.com/klhq/skillmux/compare/v1.10.0...v1.11.0) (2026-09-02)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### ⚠ BREAKING CHANGES
|
|
12
|
+
|
|
13
|
+
* **cli:** agent-based native setup — remove --target/--client vagueness, clearer rejections ([#172](https://github.com/klhq/skillmux/issues/172))
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
* **cli:** add --register-mcp to auto-register skillmux ([#173](https://github.com/klhq/skillmux/issues/173)) ([55e6e33](https://github.com/klhq/skillmux/commit/55e6e33a71abdfb2b340cdf2634f47db6a0fcff6))
|
|
18
|
+
* **cli:** agent-based native setup — remove --target/--client vagueness, clearer rejections ([#172](https://github.com/klhq/skillmux/issues/172)) ([cf5a346](https://github.com/klhq/skillmux/commit/cf5a346a3374ea217f7ffd17aba9495439b37f87))
|
|
19
|
+
* **cli:** project init --register-mcp for project-scoped MCP + instructions ([#176](https://github.com/klhq/skillmux/issues/176)) ([a1e5e3b](https://github.com/klhq/skillmux/commit/a1e5e3b43cd65b64741528e9cbaed0770d1637b7))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
* **cli:** four consistency bugs found in a CLI audit ([#177](https://github.com/klhq/skillmux/issues/177)) ([a3aa008](https://github.com/klhq/skillmux/commit/a3aa0082b8d5dd6f36a0bf527bfaddb43075bb7d))
|
|
25
|
+
* **cli:** guided init prompts for vault path instead of guessing ([#175](https://github.com/klhq/skillmux/issues/175)) ([2fa224c](https://github.com/klhq/skillmux/commit/2fa224ce7887a19bc4bbb59b626926c13f3d7284))
|
|
26
|
+
* **cli:** reject config init cleanly for remote targets, add classification registry ([#170](https://github.com/klhq/skillmux/issues/170)) ([9e6da95](https://github.com/klhq/skillmux/commit/9e6da95a386230e03dc94e0c8cbaa6d622a4d3f5))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
* **cli:** consolidate per-agent data into one registry ([#179](https://github.com/klhq/skillmux/issues/179)) ([9af61da](https://github.com/klhq/skillmux/commit/9af61da4e181fc8c1ae5259cf7179d60050bf5b9))
|
|
32
|
+
* **cli:** one meaning per word — finish the target/context split ([#180](https://github.com/klhq/skillmux/issues/180)) ([1714daa](https://github.com/klhq/skillmux/commit/1714daa63a3429ffe6db090fc25a3e018026d85e))
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Chores
|
|
36
|
+
|
|
37
|
+
* pin next release to 1.11.0 ([#178](https://github.com/klhq/skillmux/issues/178)) ([0193952](https://github.com/klhq/skillmux/commit/01939522b550b40ee9bfa6981ea359d17bd55897))
|
|
38
|
+
|
|
8
39
|
## [1.10.0](https://github.com/klhq/skillmux/compare/v1.9.3...v1.10.0) (2026-09-01)
|
|
9
40
|
|
|
10
41
|
|
package/README.md
CHANGED
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
<a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
|
-
<p align="center"><strong>One skill vault. Every AI coding
|
|
15
|
+
<p align="center"><strong>One skill vault. Every AI coding agent. Nothing lost in translation.</strong></p>
|
|
16
16
|
|
|
17
|
-
Every AI coding
|
|
17
|
+
Every AI coding agent wants its own skill folder and its own format. Skillmux
|
|
18
18
|
manages [`SKILL.md`](https://agentskills.io) collections across all of them
|
|
19
19
|
from one place. Keep one **vault source of truth** (the logical skill
|
|
20
20
|
collection), pin a small set into native skill directories, and retrieve the
|
|
@@ -22,7 +22,7 @@ rest through MCP. A **vault checkout** is a physical copy of that collection.
|
|
|
22
22
|
On one machine, `~/skills` can be both the source of truth and its checkout.
|
|
23
23
|
|
|
24
24
|
For a shared topology, the Git-backed vault source of truth has a checkout on
|
|
25
|
-
each
|
|
25
|
+
each agent machine, where the Skillmux CLI creates native pins, and a checkout
|
|
26
26
|
on the server, where Skillmux server exposes HTTP MCP. Skillmux does not pull,
|
|
27
27
|
push, replicate, or determine freshness between checkouts; Git and the
|
|
28
28
|
deployment process own replication and freshness. See
|
|
@@ -40,7 +40,7 @@ See [Configuration](docs/configuration.md#machine-config-bootstrap) and
|
|
|
40
40
|
|
|
41
41
|
Choose a setup by the job:
|
|
42
42
|
|
|
43
|
-
1. Need native skills or local MCP for one
|
|
43
|
+
1. Need native skills or local MCP for one agent? Install the **Skillmux CLI**.
|
|
44
44
|
2. On Linux when Bun is undesirable? Use the **standalone Linux executable**;
|
|
45
45
|
it is the same Skillmux CLI.
|
|
46
46
|
3. Need one shared HTTP MCP service? Deploy the **full image**, the
|
|
@@ -49,7 +49,7 @@ Choose a setup by the job:
|
|
|
49
49
|
retrieval? Use the **slim image**; see [Deployment](docs/deployment.md).
|
|
50
50
|
|
|
51
51
|
For native pins and shared retrieval, run the Skillmux CLI on the machines that own
|
|
52
|
-
|
|
52
|
+
agent directories and one shared server for routed retrieval. MCP-only
|
|
53
53
|
clients connect over HTTP and do not need the Skillmux CLI.
|
|
54
54
|
|
|
55
55
|
Manage the server's vault checkout outside the container. Use the CLI for
|
|
@@ -126,19 +126,19 @@ skillmux sync
|
|
|
126
126
|
skillmux doctor
|
|
127
127
|
```
|
|
128
128
|
|
|
129
|
-
The planner detects
|
|
129
|
+
The planner detects agents, asks which skills belong in the core tier, and
|
|
130
130
|
shows every write before confirmation. Use explicit flags for automation:
|
|
131
131
|
|
|
132
132
|
```sh
|
|
133
133
|
skillmux init \
|
|
134
|
-
--
|
|
135
|
-
--
|
|
134
|
+
--agent claude-code \
|
|
135
|
+
--agent codex \
|
|
136
136
|
--core csv-formatter \
|
|
137
137
|
--dry-run
|
|
138
138
|
|
|
139
139
|
skillmux init \
|
|
140
|
-
--
|
|
141
|
-
--
|
|
140
|
+
--agent claude-code \
|
|
141
|
+
--agent codex \
|
|
142
142
|
--core csv-formatter \
|
|
143
143
|
--yes
|
|
144
144
|
```
|
|
@@ -195,7 +195,7 @@ MCP clients authenticate only to `/mcp` with the MCP bearer token. Operators
|
|
|
195
195
|
use a separate administrative bearer token for `/admin/v1/*`; neither token
|
|
196
196
|
authorizes the other surface. Named CLI contexts administer the deployed server
|
|
197
197
|
only. They never install, pin, synchronize, or otherwise manage skill
|
|
198
|
-
directories on remote
|
|
198
|
+
directories on remote agent machines. See [Deployment](docs/deployment.md#http-surfaces)
|
|
199
199
|
for configuration and examples.
|
|
200
200
|
|
|
201
201
|
## Add and inspect skills
|
|
@@ -254,16 +254,16 @@ Skillmux returns a ranked shortlist and lets the calling model choose. Endpoint
|
|
|
254
254
|
|
|
255
255
|
Read [MCP routing](docs/mcp-routing.md) for transports, client instructions, retrieval modes, and the wire contract.
|
|
256
256
|
|
|
257
|
-
## Supported
|
|
257
|
+
## Supported agents
|
|
258
258
|
|
|
259
|
-
|
|
|
259
|
+
| Agent | Native skill delivery | MCP setup |
|
|
260
260
|
| --- | --- | --- |
|
|
261
|
-
| Claude Code | `~/.claude/skills` | Configure in the
|
|
262
|
-
| Codex | `$CODEX_HOME/skills` or `~/.codex/skills` | Configure in the
|
|
263
|
-
| Gemini CLI, OpenCode, GitHub Copilot, Windsurf | `~/.agents/skills` | Configure in the
|
|
264
|
-
| Antigravity | `~/.gemini/config/skills` | Configure in the
|
|
261
|
+
| Claude Code | `~/.claude/skills` | Configure in the agent |
|
|
262
|
+
| Codex | `$CODEX_HOME/skills` or `~/.codex/skills` | Configure in the agent |
|
|
263
|
+
| Gemini CLI, OpenCode, GitHub Copilot, Windsurf | `~/.agents/skills` | Configure in the agent |
|
|
264
|
+
| Antigravity | `~/.gemini/config/skills` | Configure in the agent |
|
|
265
265
|
| Goose, Hermes | Manual full-vault setup | Manual registration |
|
|
266
|
-
| Custom
|
|
266
|
+
| Custom agents | Any directory through a custom target | Stdio or Streamable HTTP |
|
|
267
267
|
|
|
268
268
|
Skillmux preserves existing instruction files and unmanaged target content. Run `skillmux init --dry-run` to inspect every planned filesystem change.
|
|
269
269
|
|
package/docs/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Skillmux documentation
|
|
2
2
|
|
|
3
3
|
Skillmux manages one `SKILL.md` vault source of truth: the logical skill
|
|
4
|
-
collection. A vault checkout is a physical copy used by
|
|
4
|
+
collection. A vault checkout is a physical copy used by an agent machine or
|
|
5
5
|
server. On one machine, `~/skills` can be both. Choose a workflow based on
|
|
6
6
|
where skills need to appear and where Skillmux should run.
|
|
7
7
|
|
|
@@ -19,7 +19,7 @@ where skills need to appear and where Skillmux should run.
|
|
|
19
19
|
|
|
20
20
|
You can combine native management and local MCP retrieval on one machine. For
|
|
21
21
|
native pins plus shared retrieval, run Skillmux CLI on each machine that owns
|
|
22
|
-
|
|
22
|
+
agent directories and deploy Skillmux server for HTTP MCP. The Bun package is
|
|
23
23
|
the cross-platform CLI installation method; the standalone Linux executable is
|
|
24
24
|
its Linux alternative. Git and the deployment process, not Skillmux, replicate
|
|
25
25
|
vault checkouts and determine their freshness; see
|
|
@@ -38,7 +38,7 @@ to customize behavior; see [Configuration](configuration.md#machine-config-boots
|
|
|
38
38
|
|
|
39
39
|
The MCP and administrative surfaces use separate bearer tokens; possession of
|
|
40
40
|
one does not grant access to the other. A named CLI context administers the
|
|
41
|
-
deployed server only, never remote
|
|
41
|
+
deployed server only, never remote agent skill directories. See
|
|
42
42
|
[Deployment](deployment.md#http-surfaces) for authentication and examples.
|
|
43
43
|
|
|
44
44
|
## Learn the model
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
<defs>
|
|
6
6
|
<filter id="shadow" x="-15%" y="-15%" width="130%" height="140%">
|
|
7
|
-
<feDropShadow dx="0" dy="
|
|
7
|
+
<feDropShadow dx="0" dy="4" stdDeviation="10" flood-color="#000000" flood-opacity="0.40"/>
|
|
8
8
|
</filter>
|
|
9
9
|
<marker id="arrow-teal" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto">
|
|
10
|
-
<path d="M0 0L10 5L0 10Z" fill="#
|
|
10
|
+
<path d="M0 0L10 5L0 10Z" fill="#34d399"/>
|
|
11
11
|
</marker>
|
|
12
12
|
<marker id="arrow-blue" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto">
|
|
13
13
|
<path d="M0 0L10 5L0 10Z" fill="#60a5fa"/>
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
.title {
|
|
23
23
|
font-size: 27px;
|
|
24
24
|
font-weight: 750;
|
|
25
|
-
fill: #
|
|
25
|
+
fill: #f1f5f9;
|
|
26
26
|
}
|
|
27
27
|
.subtitle {
|
|
28
28
|
font-size: 16px;
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
fill: #cbd5e1;
|
|
52
52
|
}
|
|
53
53
|
.mono-light {
|
|
54
|
-
fill: #
|
|
54
|
+
fill: #e2e8f0;
|
|
55
55
|
}
|
|
56
56
|
.chip {
|
|
57
57
|
font-size: 12px;
|
|
@@ -61,100 +61,107 @@
|
|
|
61
61
|
</style>
|
|
62
62
|
</defs>
|
|
63
63
|
|
|
64
|
+
<!-- Canvas -->
|
|
64
65
|
<rect width="1200" height="720" rx="24" fill="#0d1117"/>
|
|
65
|
-
<rect x="1" y="1" width="1198" height="718" rx="23" fill="none" stroke="#
|
|
66
|
+
<rect x="1" y="1" width="1198" height="718" rx="23" fill="none" stroke="#21262d" stroke-width="2"/>
|
|
66
67
|
|
|
68
|
+
<!-- Header -->
|
|
67
69
|
<text x="48" y="50" class="title">One vault source of truth, three ways to use Skillmux</text>
|
|
68
70
|
<text x="48" y="78" class="subtitle">Git and deployment replicate checkouts; Skillmux uses each checkout where it runs.</text>
|
|
69
71
|
|
|
72
|
+
<!-- Vault card -->
|
|
70
73
|
<g filter="url(#shadow)">
|
|
71
74
|
<rect x="280" y="106" width="640" height="118" rx="18" fill="#161b22" stroke="#30363d" stroke-width="2"/>
|
|
72
|
-
<circle cx="324" cy="147" r="18" fill="#
|
|
73
|
-
<path d="M314 141H327L333 147L327 153H314M320 135V159" fill="none" stroke="#
|
|
75
|
+
<circle cx="324" cy="147" r="18" fill="#30363d"/>
|
|
76
|
+
<path d="M314 141H327L333 147L327 153H314M320 135V159" fill="none" stroke="#e2e8f0" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
74
77
|
<text x="358" y="144" class="card-title">Git-backed vault source of truth</text>
|
|
75
78
|
<text x="358" y="172" class="mono">SKILL.md per child directory</text>
|
|
76
79
|
<text x="358" y="200" class="body">A checkout is a physical copy of it on one machine.</text>
|
|
77
|
-
<rect x="751" y="155" width="137" height="34" rx="9" fill="#
|
|
80
|
+
<rect x="751" y="155" width="137" height="34" rx="9" fill="#21262d" stroke="#30363d"/>
|
|
78
81
|
<text x="819.5" y="177" text-anchor="middle" class="mono">skillmux.toml</text>
|
|
79
82
|
</g>
|
|
80
83
|
|
|
81
|
-
|
|
84
|
+
<!-- Connector lines -->
|
|
85
|
+
<path d="M520 224V252H410V277" fill="none" stroke="#34d399" stroke-width="3" marker-end="url(#arrow-teal)"/>
|
|
82
86
|
<path d="M720 224V252H980V277" fill="none" stroke="#a78bfa" stroke-width="3" marker-end="url(#arrow-violet)"/>
|
|
83
87
|
<text x="394" y="270" text-anchor="end" class="body">client checkout</text>
|
|
84
88
|
<text x="996" y="270" text-anchor="start" class="body">server checkout</text>
|
|
85
89
|
|
|
90
|
+
<!-- CLI card (emerald) -->
|
|
86
91
|
<g filter="url(#shadow)">
|
|
87
|
-
<rect x="40" y="284" width="740" height="302" rx="18" fill="#161b22" stroke="#
|
|
88
|
-
<rect x="62" y="306" width="124" height="26" rx="13" fill="#
|
|
89
|
-
<text x="124" y="324" text-anchor="middle" class="chip" fill="#
|
|
92
|
+
<rect x="40" y="284" width="740" height="302" rx="18" fill="#161b22" stroke="#059669" stroke-width="2"/>
|
|
93
|
+
<rect x="62" y="306" width="124" height="26" rx="13" fill="#064e3b"/>
|
|
94
|
+
<text x="124" y="324" text-anchor="middle" class="chip" fill="#34d399">SKILLMUX CLI</text>
|
|
90
95
|
<text x="62" y="365" class="card-title">On one client machine</text>
|
|
91
96
|
<text x="62" y="390" class="body">Manage native skills, add local MCP retrieval, or do both.</text>
|
|
92
97
|
|
|
93
|
-
<rect x="62" y="414" width="276" height="48" rx="10" fill="#
|
|
94
|
-
<circle cx="85" cy="438" r="11" fill="#
|
|
98
|
+
<rect x="62" y="414" width="276" height="48" rx="10" fill="#052e16" stroke="#059669"/>
|
|
99
|
+
<circle cx="85" cy="438" r="11" fill="#34d399"/>
|
|
95
100
|
<text x="85" y="442.5" text-anchor="middle" style="font-size: 13px; font-weight: 750" fill="#0d1117">1</text>
|
|
96
101
|
<text x="200" y="433" text-anchor="middle" class="label" style="font-size: 17px">Manage native skills</text>
|
|
97
102
|
<text x="200" y="453" text-anchor="middle" class="mono">skillmux init · sync</text>
|
|
98
|
-
<path d="M200 462V487" fill="none" stroke="#
|
|
99
|
-
<rect x="62" y="493" width="276" height="49" rx="10" fill="#
|
|
103
|
+
<path d="M200 462V487" fill="none" stroke="#34d399" stroke-width="2.5" marker-end="url(#arrow-teal)"/>
|
|
104
|
+
<rect x="62" y="493" width="276" height="49" rx="10" fill="#21262d" stroke="#30363d"/>
|
|
100
105
|
<text x="200" y="514" text-anchor="middle" class="label">Native skill directories</text>
|
|
101
106
|
<text x="200" y="533" text-anchor="middle" class="body">managed core and project links</text>
|
|
102
107
|
|
|
103
108
|
<text x="62" y="570" class="body">Install Skillmux CLI with</text>
|
|
104
|
-
<rect x="270" y="550" width="85" height="27" rx="8" fill="#
|
|
105
|
-
<text x="312.5" y="568" text-anchor="middle" class="chip" style="font-size: 10px" fill="#
|
|
106
|
-
<rect x="361" y="550" width="87" height="27" rx="8" fill="#
|
|
107
|
-
<text x="404.5" y="561" text-anchor="middle" class="chip" style="font-size: 10px" fill="#
|
|
109
|
+
<rect x="270" y="550" width="85" height="27" rx="8" fill="#30363d" stroke="#444c56"/>
|
|
110
|
+
<text x="312.5" y="568" text-anchor="middle" class="chip" style="font-size: 10px" fill="#e2e8f0">BUN PACKAGE</text>
|
|
111
|
+
<rect x="361" y="550" width="87" height="27" rx="8" fill="#21262d" stroke="#30363d"/>
|
|
112
|
+
<text x="404.5" y="561" text-anchor="middle" class="chip" style="font-size: 10px" fill="#94a3b8"><tspan x="404.5">LINUX</tspan><tspan x="404.5" dy="11">EXECUTABLE</tspan></text>
|
|
108
113
|
</g>
|
|
109
114
|
|
|
115
|
+
<!-- MCP retrieval sub-card (blue) -->
|
|
110
116
|
<g filter="url(#shadow)">
|
|
111
|
-
<rect x="420" y="414" width="338" height="128" rx="10" fill="#
|
|
117
|
+
<rect x="420" y="414" width="338" height="128" rx="10" fill="#0c1929" stroke="#2563eb"/>
|
|
112
118
|
<circle cx="453" cy="435" r="11" fill="#60a5fa"/>
|
|
113
119
|
<text x="453" y="439.5" text-anchor="middle" style="font-size: 13px; font-weight: 750" fill="#0d1117">2</text>
|
|
114
120
|
<text x="476" y="441" class="label" style="font-size: 17px">Add local MCP retrieval</text>
|
|
115
121
|
<text x="442" y="463" class="body">Reaches the whole indexed vault on demand.</text>
|
|
116
122
|
|
|
117
|
-
<rect x="442" y="475" width="92" height="48" rx="10" fill="#
|
|
123
|
+
<rect x="442" y="475" width="92" height="48" rx="10" fill="#21262d" stroke="#30363d"/>
|
|
118
124
|
<text x="488" y="505" text-anchor="middle" class="label">AI client</text>
|
|
119
125
|
<path d="M534 499H578" fill="none" stroke="#60a5fa" stroke-width="2.5" marker-end="url(#arrow-blue)"/>
|
|
120
126
|
<text x="559" y="489" text-anchor="middle" class="body">stdio</text>
|
|
121
|
-
<rect x="584" y="470" width="152" height="62" rx="10" fill="#161b22" stroke="#
|
|
127
|
+
<rect x="584" y="470" width="152" height="62" rx="10" fill="#161b22" stroke="#2563eb"/>
|
|
122
128
|
<text x="660" y="492" text-anchor="middle" class="mono">skillmux serve</text>
|
|
123
129
|
<text x="660" y="511" text-anchor="middle" class="body">default: FTS5 +</text>
|
|
124
130
|
<text x="660" y="527" text-anchor="middle" class="body">local GTE-small</text>
|
|
125
|
-
|
|
126
131
|
</g>
|
|
127
132
|
|
|
133
|
+
<!-- Server card (violet) -->
|
|
128
134
|
<g filter="url(#shadow)">
|
|
129
135
|
<rect x="800" y="284" width="360" height="302" rx="18" fill="#161b22" stroke="#7c3aed" stroke-width="2"/>
|
|
130
|
-
<rect x="822" y="306" width="136" height="26" rx="13" fill="#
|
|
131
|
-
<text x="890" y="324" text-anchor="middle" class="chip" fill="#
|
|
136
|
+
<rect x="822" y="306" width="136" height="26" rx="13" fill="#2e1065"/>
|
|
137
|
+
<text x="890" y="324" text-anchor="middle" class="chip" fill="#a78bfa">SKILLMUX SERVER</text>
|
|
132
138
|
<circle cx="833" cy="358" r="11" fill="#a78bfa"/>
|
|
133
139
|
<text x="833" y="362.5" text-anchor="middle" style="font-size: 13px; font-weight: 750" fill="#0d1117">3</text>
|
|
134
140
|
<text x="856" y="365" class="card-title">Run a shared MCP service</text>
|
|
135
141
|
<text x="822" y="390" class="body">Read a server checkout to serve several clients.</text>
|
|
136
142
|
|
|
137
|
-
<rect x="822" y="414" width="92" height="48" rx="10" fill="#
|
|
143
|
+
<rect x="822" y="414" width="92" height="48" rx="10" fill="#21262d" stroke="#30363d"/>
|
|
138
144
|
<text x="868" y="435" text-anchor="middle" class="label">AI clients</text>
|
|
139
145
|
<text x="868" y="453" text-anchor="middle" class="body">one or more</text>
|
|
140
146
|
<path d="M914 438H963" fill="none" stroke="#a78bfa" stroke-width="2.5" marker-end="url(#arrow-violet)"/>
|
|
141
147
|
<text x="939" y="428" text-anchor="middle" class="body">HTTP</text>
|
|
142
|
-
<rect x="969" y="414" width="169" height="48" rx="10" fill="#
|
|
148
|
+
<rect x="969" y="414" width="169" height="48" rx="10" fill="#1e0a3c" stroke="#7c3aed"/>
|
|
143
149
|
<text x="1053.5" y="435" text-anchor="middle" class="label">Skillmux server</text>
|
|
144
150
|
<text x="1053.5" y="453" text-anchor="middle" class="body" style="font-size: 13px">Streamable HTTP /mcp</text>
|
|
145
151
|
|
|
146
|
-
<rect x="822" y="484" width="148" height="58" rx="10" fill="#
|
|
152
|
+
<rect x="822" y="484" width="148" height="58" rx="10" fill="#1e0a3c" stroke="#7c3aed"/>
|
|
147
153
|
<text x="896" y="507" text-anchor="middle" class="label">Full image</text>
|
|
148
154
|
<text x="896" y="530" text-anchor="middle" class="body">GTE-small included</text>
|
|
149
|
-
<rect x="982" y="484" width="156" height="58" rx="10" fill="#
|
|
155
|
+
<rect x="982" y="484" width="156" height="58" rx="10" fill="#21262d" stroke="#30363d"/>
|
|
150
156
|
<text x="1060" y="507" text-anchor="middle" class="label">Slim image</text>
|
|
151
157
|
<text x="1060" y="530" text-anchor="middle" class="body">remote or lexical</text>
|
|
152
158
|
|
|
153
159
|
<text x="822" y="570" class="body">Full image is the default deployment.</text>
|
|
154
160
|
</g>
|
|
155
161
|
|
|
156
|
-
|
|
157
|
-
<
|
|
162
|
+
<!-- Footer / MCP contract bar -->
|
|
163
|
+
<rect x="420" y="608" width="740" height="82" rx="14" fill="#161b22" stroke="#21262d" stroke-width="1.5"/>
|
|
164
|
+
<text x="444" y="633" class="chip" fill="#64748b">MCP TOOL CONTRACT · STDIO + HTTP</text>
|
|
158
165
|
<text x="444" y="655" class="mono mono-light" style="font-size: 12px">resolve_skill → lexical + vector → RRF → optional rerank → top_k → ranked candidates</text>
|
|
159
166
|
<text x="444" y="677" class="mono mono-light" style="font-size: 12px">fetch_skill → current SKILL.md bytes + SHA-256</text>
|
|
160
167
|
</svg>
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
<defs>
|
|
6
6
|
<filter id="shadow" x="-15%" y="-15%" width="130%" height="140%">
|
|
7
|
-
<feDropShadow dx="0" dy="
|
|
7
|
+
<feDropShadow dx="0" dy="4" stdDeviation="8" flood-color="#94a3b8" flood-opacity="0.18"/>
|
|
8
8
|
</filter>
|
|
9
9
|
<marker id="arrow-teal" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto">
|
|
10
|
-
<path d="M0 0L10 5L0 10Z" fill="#
|
|
10
|
+
<path d="M0 0L10 5L0 10Z" fill="#059669"/>
|
|
11
11
|
</marker>
|
|
12
12
|
<marker id="arrow-blue" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto">
|
|
13
13
|
<path d="M0 0L10 5L0 10Z" fill="#2563eb"/>
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
.subtitle {
|
|
28
28
|
font-size: 16px;
|
|
29
29
|
font-weight: 400;
|
|
30
|
-
fill: #
|
|
30
|
+
fill: #64748b;
|
|
31
31
|
}
|
|
32
32
|
.card-title {
|
|
33
33
|
font-size: 21px;
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
.body {
|
|
43
43
|
font-size: 14px;
|
|
44
44
|
font-weight: 400;
|
|
45
|
-
fill: #
|
|
45
|
+
fill: #64748b;
|
|
46
46
|
}
|
|
47
47
|
.mono {
|
|
48
48
|
font-family: "DejaVu Sans Mono", Consolas, monospace;
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
fill: #1e293b;
|
|
52
52
|
}
|
|
53
53
|
.mono-light {
|
|
54
|
-
fill: #
|
|
54
|
+
fill: #e2e8f0;
|
|
55
55
|
}
|
|
56
56
|
.chip {
|
|
57
57
|
font-size: 12px;
|
|
@@ -61,14 +61,17 @@
|
|
|
61
61
|
</style>
|
|
62
62
|
</defs>
|
|
63
63
|
|
|
64
|
+
<!-- Canvas -->
|
|
64
65
|
<rect width="1200" height="720" rx="24" fill="#f8fafc"/>
|
|
65
66
|
<rect x="1" y="1" width="1198" height="718" rx="23" fill="none" stroke="#e2e8f0" stroke-width="2"/>
|
|
66
67
|
|
|
68
|
+
<!-- Header -->
|
|
67
69
|
<text x="48" y="50" class="title">One vault source of truth, three ways to use Skillmux</text>
|
|
68
70
|
<text x="48" y="78" class="subtitle">Git and deployment replicate checkouts; Skillmux uses each checkout where it runs.</text>
|
|
69
71
|
|
|
72
|
+
<!-- Vault card -->
|
|
70
73
|
<g filter="url(#shadow)">
|
|
71
|
-
<rect x="280" y="106" width="640" height="118" rx="18" fill="#ffffff" stroke="#
|
|
74
|
+
<rect x="280" y="106" width="640" height="118" rx="18" fill="#ffffff" stroke="#e2e8f0" stroke-width="2"/>
|
|
72
75
|
<circle cx="324" cy="147" r="18" fill="#0f172a"/>
|
|
73
76
|
<path d="M314 141H327L333 147L327 153H314M320 135V159" fill="none" stroke="#ffffff" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
74
77
|
<text x="358" y="144" class="card-title">Git-backed vault source of truth</text>
|
|
@@ -78,35 +81,38 @@
|
|
|
78
81
|
<text x="819.5" y="177" text-anchor="middle" class="mono">skillmux.toml</text>
|
|
79
82
|
</g>
|
|
80
83
|
|
|
81
|
-
|
|
84
|
+
<!-- Connector lines -->
|
|
85
|
+
<path d="M520 224V252H410V277" fill="none" stroke="#059669" stroke-width="3" marker-end="url(#arrow-teal)"/>
|
|
82
86
|
<path d="M720 224V252H980V277" fill="none" stroke="#7c3aed" stroke-width="3" marker-end="url(#arrow-violet)"/>
|
|
83
87
|
<text x="394" y="270" text-anchor="end" class="body">client checkout</text>
|
|
84
88
|
<text x="996" y="270" text-anchor="start" class="body">server checkout</text>
|
|
85
89
|
|
|
90
|
+
<!-- CLI card (emerald) -->
|
|
86
91
|
<g filter="url(#shadow)">
|
|
87
|
-
<rect x="40" y="284" width="740" height="302" rx="18" fill="#ffffff" stroke="#
|
|
88
|
-
<rect x="62" y="306" width="124" height="26" rx="13" fill="#
|
|
89
|
-
<text x="124" y="324" text-anchor="middle" class="chip" fill="#
|
|
92
|
+
<rect x="40" y="284" width="740" height="302" rx="18" fill="#ffffff" stroke="#6ee7b7" stroke-width="2"/>
|
|
93
|
+
<rect x="62" y="306" width="124" height="26" rx="13" fill="#d1fae5"/>
|
|
94
|
+
<text x="124" y="324" text-anchor="middle" class="chip" fill="#065f46">SKILLMUX CLI</text>
|
|
90
95
|
<text x="62" y="365" class="card-title">On one client machine</text>
|
|
91
96
|
<text x="62" y="390" class="body">Manage native skills, add local MCP retrieval, or do both.</text>
|
|
92
97
|
|
|
93
|
-
<rect x="62" y="414" width="276" height="48" rx="10" fill="#
|
|
94
|
-
<circle cx="85" cy="438" r="11" fill="#
|
|
98
|
+
<rect x="62" y="414" width="276" height="48" rx="10" fill="#ecfdf5" stroke="#6ee7b7"/>
|
|
99
|
+
<circle cx="85" cy="438" r="11" fill="#059669"/>
|
|
95
100
|
<text x="85" y="442.5" text-anchor="middle" style="font-size: 13px; font-weight: 750" fill="#ffffff">1</text>
|
|
96
101
|
<text x="200" y="433" text-anchor="middle" class="label" style="font-size: 17px">Manage native skills</text>
|
|
97
102
|
<text x="200" y="453" text-anchor="middle" class="mono">skillmux init · sync</text>
|
|
98
|
-
<path d="M200 462V487" fill="none" stroke="#
|
|
103
|
+
<path d="M200 462V487" fill="none" stroke="#059669" stroke-width="2.5" marker-end="url(#arrow-teal)"/>
|
|
99
104
|
<rect x="62" y="493" width="276" height="49" rx="10" fill="#f8fafc" stroke="#cbd5e1"/>
|
|
100
105
|
<text x="200" y="514" text-anchor="middle" class="label">Native skill directories</text>
|
|
101
106
|
<text x="200" y="533" text-anchor="middle" class="body">managed core and project links</text>
|
|
102
107
|
|
|
103
108
|
<text x="62" y="570" class="body">Install Skillmux CLI with</text>
|
|
104
109
|
<rect x="270" y="550" width="85" height="27" rx="8" fill="#0f172a"/>
|
|
105
|
-
<text x="312.5" y="568" text-anchor="middle" class="chip" style="font-size: 10px" fill="#
|
|
110
|
+
<text x="312.5" y="568" text-anchor="middle" class="chip" style="font-size: 10px" fill="#f1f5f9">BUN PACKAGE</text>
|
|
106
111
|
<rect x="361" y="550" width="87" height="27" rx="8" fill="#f1f5f9" stroke="#cbd5e1"/>
|
|
107
112
|
<text x="404.5" y="561" text-anchor="middle" class="chip" style="font-size: 10px" fill="#334155"><tspan x="404.5">LINUX</tspan><tspan x="404.5" dy="11">EXECUTABLE</tspan></text>
|
|
108
113
|
</g>
|
|
109
114
|
|
|
115
|
+
<!-- MCP retrieval sub-card (blue) -->
|
|
110
116
|
<g filter="url(#shadow)">
|
|
111
117
|
<rect x="420" y="414" width="338" height="128" rx="10" fill="#eff6ff" stroke="#93c5fd"/>
|
|
112
118
|
<circle cx="453" cy="435" r="11" fill="#2563eb"/>
|
|
@@ -122,13 +128,13 @@
|
|
|
122
128
|
<text x="660" y="492" text-anchor="middle" class="mono">skillmux serve</text>
|
|
123
129
|
<text x="660" y="511" text-anchor="middle" class="body">default: FTS5 +</text>
|
|
124
130
|
<text x="660" y="527" text-anchor="middle" class="body">local GTE-small</text>
|
|
125
|
-
|
|
126
131
|
</g>
|
|
127
132
|
|
|
133
|
+
<!-- Server card (violet) -->
|
|
128
134
|
<g filter="url(#shadow)">
|
|
129
135
|
<rect x="800" y="284" width="360" height="302" rx="18" fill="#ffffff" stroke="#c4b5fd" stroke-width="2"/>
|
|
130
136
|
<rect x="822" y="306" width="136" height="26" rx="13" fill="#ede9fe"/>
|
|
131
|
-
<text x="890" y="324" text-anchor="middle" class="chip" fill="#
|
|
137
|
+
<text x="890" y="324" text-anchor="middle" class="chip" fill="#5b21b6">SKILLMUX SERVER</text>
|
|
132
138
|
<circle cx="833" cy="358" r="11" fill="#7c3aed"/>
|
|
133
139
|
<text x="833" y="362.5" text-anchor="middle" style="font-size: 13px; font-weight: 750" fill="#ffffff">3</text>
|
|
134
140
|
<text x="856" y="365" class="card-title">Run a shared MCP service</text>
|
|
@@ -153,8 +159,9 @@
|
|
|
153
159
|
<text x="822" y="570" class="body">Full image is the default deployment.</text>
|
|
154
160
|
</g>
|
|
155
161
|
|
|
156
|
-
|
|
157
|
-
<
|
|
162
|
+
<!-- Footer / MCP contract bar -->
|
|
163
|
+
<rect x="420" y="608" width="740" height="82" rx="14" fill="#1e293b"/>
|
|
164
|
+
<text x="444" y="633" class="chip" fill="#94a3b8">MCP TOOL CONTRACT · STDIO + HTTP</text>
|
|
158
165
|
<text x="444" y="655" class="mono mono-light" style="font-size: 12px">resolve_skill → lexical + vector → RRF → optional rerank → top_k → ranked candidates</text>
|
|
159
166
|
<text x="444" y="677" class="mono mono-light" style="font-size: 12px">fetch_skill → current SKILL.md bytes + SHA-256</text>
|
|
160
167
|
</svg>
|