Uniwersalna warstwa skill dla AI przez protokół MCP — reużycie gotowych paczek Python, usług Docker, dowolnego CLI, API REST bez ręcznej integracji każdego narzędzia.
Schemat zgodny z CONTROL_LAYER: cienkie adaptery (mcp2*, rest2*, cli2*) delegują do dsl2skillm.dispatch().
pip install skillm nlp2skillm dsl2skillm uri2skillm cli2skillm mcp2skillm rest2skillm
# lub minimalnie MCP:
pip install mcp2skillmOpublikowane wersje: skillm, nlp2skillm.
Pozostałe paczki (dsl2skillm, uri2skillm, cli2skillm, mcp2skillm, rest2skillm) — po limicie PyPI „too many new projects”:
bash scripts/publish-remaining.shcd /home/tom/github/semcod/skillm
bash install-dev.sh
# CLI
cli2skillm exec'LIST FILE app.skillm.yaml'
cli2skillm exec'INVOKE skillm://skill/echo-python FILE app.skillm.yaml'# MCP (stdio — dla Cursor, Open WebUI, Claude Desktop)
mcp2skillm serve
# REST
rest2skillm serve --port 8216
curl -s http://127.0.0.1:8216/healthflowchart LR
OW[Open WebUI / Cursor]
MCP[mcp2skillm]
DSL[dsl2skillm]
CORE[skillm core]
PY[Python package]
CLI[Shell CLI]
DK[Docker]
API[REST service]
OW --> MCP --> DSL --> CORE
CORE --> PY
CORE --> CLI
CORE --> DK
CORE --> API
version: "1"skills:
echo-python:
type: pythonentry: skillm.examples.echo:runargs: ["hello"]my-cli:
type: clicommand: curlargs: ["-s", "https://httpbin.org/get"]my-docker:
type: dockerimage: hello-world:latestmy-api:
type: resturl: http://127.0.0.1:8210/healthmethod: GETother-mcp:
type: mcpcommand: mcp2doqlargs: ["serve"]LIST FILE app.skillm.yaml
QUERY skillm://skill/echo-python FILE app.skillm.yaml
VALIDATE app.skillm.yaml
HEALTH skillm://skill/echo-python FILE app.skillm.yaml
INVOKE skillm://skill/echo-python FILE app.skillm.yaml ARGS '["world"]'
REGISTER my-tool TYPE cli WITH {"command":"date","args":["-u"]}
PATCH skillm://skill/my-tool WITH {"description":"updated"}
UNREGISTER my-tool
RESOLVE "python echo skill"
skillm/ # główna paczka (core)
packages/
dsl2skillm/
uri2skillm/
nlp2skillm/
cli2skillm/
mcp2skillm/
rest2skillm/
| Paczka | Port / transport | Opis |
|---|---|---|
skillm (root) | — | Registry, invoke, validate |
dsl2skillm | — | Bus CQRS + Schema + Protobuf |
uri2skillm | — | skillm://cmd/... → DSL |
nlp2skillm | — | NL → DSL |
cli2skillm | stdio REPL | shell, exec, run |
mcp2skillm | MCP stdio | Narzędzia skillm_* |
rest2skillm | 8216 | POST /v1/dsl |
Szczegóły: packages/README.md.
Instrukcja integracji MCP: examples/open-webui/README.md.
pytest skillm/tests packages/ -qApache-2.0 — see LICENSE.