slickit
Semantic, LLM-Interpretable Component Kit. Foundation types for composable components.
What
Four types that let components describe themselves and be discovered, composed, and instantiated across languages:
Kind— Agent, Capability, Skill, FlowManifest— component descriptor (identity, kind, invoke, contracts)TypedConfig— config envelope (type_url + opaque JSON)TypedRegistry— type_url → factory → instance
One Rust core, two crusts: Python (PyO3) and TypeScript (wasm-bindgen).
Install
# Rust
# Python
# TypeScript
Usage
Rust
use ;
// Describe a component
let manifest = Manifest ;
// Register and instantiate
let registry = new
.register
.build;
let instance = registry.create.unwrap;
Python
=
# Serialize / deserialize
=
=
TypeScript
import { Kind, Manifest } from "slickit";
const manifest = Manifest.fromObject({
kind: "capability",
type_url: "mox.tools.v1.Recon",
description: "Reconnaissance and information gathering",
invoke: "uvx mox/tools/recon",
consumes: ["mox.v1.Target"],
produces: "mox.v1.ReconReport",
});
console.log(manifest.typeUrl); // "mox.tools.v1.Recon"
The Four Kinds
| Kind | Contract | Example |
|---|---|---|
| Agent | Autonomous reasoning, session-based | Code review agent |
| Capability | Stateless function, single invocation | Access control processor |
| Skill | Knowledge/context, no execution | Design tokens |
| Flow | Orchestrated DAG of components | CI pipeline |
Dependencies
serde + serde_json. Nothing else.
License
Apache-2.0 — see LICENSE.