Summary
SkillLite ships a Python SDK (python-sdk/) that wraps the local skilllite binary via IPC (skilllite serve --stdio) and subprocess. The Rust agent-rpc module explicitly targets Python/TypeScript SDKs as consumers:
"This module belongs to the agent layer … It provides a transport-agnostic RPC interface for Python/TypeScript SDKs to call the Rust agent engine."
— crates/skilllite-agent/src/rpc.rs
There is no first-party TypeScript/JavaScript SDK today. Node/TS integrators (Next.js apps, Electron sidecars, LangChain.js, custom agents) must hand-roll JSON-Lines parsing over stdio.
Goals
| Capability |
Mechanism |
Notes |
| Sandbox |
skilllite serve --stdio JSON-RPC 2.0 |
scan_code, execute_code, run_skill, list_skills |
| Agent chat |
skilllite agent-rpc JSON-Lines |
Streaming events: text_chunk, tool_call, confirmation_request, done, … |
| Artifacts |
HTTP client |
artifact_put / artifact_get against gateway or artifact-serve |
| Binary management |
Same as Python |
Resolve/install skilllite binary, version check |
Proposed deliverables
@skilllite/sdk (or skilllite on npm) — typed client with:
SkillLiteClient for sandbox IPC
AgentRpcClient for streaming agent chat + confirm/clarify round-trips
- Event iterator / async generator for JSON-Lines stream
- Protocol types — shared with optional
skilllite-client Rust crate (see Assistant split P3)
- Examples — minimal chat bot, MCP-adjacent tool runner, artifact upload
- CI — contract tests against pinned
skilllite release binary (golden fixtures)
Acceptance criteria
Non-goals (initial release)
- Bundling the Rust binary inside the npm package (document install/PATH flow instead)
- Reimplementing sandbox logic in TypeScript
References
Summary
SkillLite ships a Python SDK (
python-sdk/) that wraps the localskilllitebinary via IPC (skilllite serve --stdio) and subprocess. The Rustagent-rpcmodule explicitly targets Python/TypeScript SDKs as consumers:There is no first-party TypeScript/JavaScript SDK today. Node/TS integrators (Next.js apps, Electron sidecars, LangChain.js, custom agents) must hand-roll JSON-Lines parsing over stdio.
Goals
skilllite serve --stdioJSON-RPC 2.0scan_code,execute_code,run_skill,list_skillsskilllite agent-rpcJSON-Linestext_chunk,tool_call,confirmation_request,done, …artifact_put/artifact_getagainst gateway orartifact-serveskilllitebinary, version checkProposed deliverables
@skilllite/sdk(orskillliteon npm) — typed client with:SkillLiteClientfor sandbox IPCAgentRpcClientfor streaming agent chat + confirm/clarify round-tripsskilllite-clientRust crate (see Assistant split P3)skillliterelease binary (golden fixtures)Acceptance criteria
typescript-sdk/)scan_code,execute_code,run_skillcovered with testsagent_chat+confirm/clarifyround-trip coveredNon-goals (initial release)
References
python-sdk/crates/skilllite-agent/src/rpc.rsdocs/en/ENTRYPOINTS-AND-DOMAINS.md§2 Python