Skip to content

Repository files navigation

skillm

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().

Instalacja (PyPI)

pip install skillm nlp2skillm dsl2skillm uri2skillm cli2skillm mcp2skillm rest2skillm
# lub minimalnie MCP:
pip install mcp2skillm

Opublikowane wersje: skillm, nlp2skillm.

Pozostałe paczki (dsl2skillm, uri2skillm, cli2skillm, mcp2skillm, rest2skillm) — po limicie PyPI „too many new projects”:

bash scripts/publish-remaining.sh

Instalacja (dev)

cd /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/health

Architektura

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

Manifest skilli (app.skillm.yaml)

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

DSL (przykłady)

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"

Struktura

skillm/ # główna paczka (core)
packages/
dsl2skillm/
uri2skillm/
nlp2skillm/
cli2skillm/
mcp2skillm/
rest2skillm/

Paczki

PaczkaPort / transportOpis
skillm (root)Registry, invoke, validate
dsl2skillmBus CQRS + Schema + Protobuf
uri2skillmskillm://cmd/... → DSL
nlp2skillmNL → DSL
cli2skillmstdio REPLshell, exec, run
mcp2skillmMCP stdioNarzędzia skillm_*
rest2skillm8216POST /v1/dsl

Szczegóły: packages/README.md.

Open WebUI

Instrukcja integracji MCP: examples/open-webui/README.md.

Testy

pytest skillm/tests packages/ -q

Licencja

Apache-2.0 — see LICENSE.

Releases

Packages

Contributors

Languages