skrun
skrun builds and runs executable skills for AI agent frameworks. It packages Rust binaries and uv-backed Python projects behind one local stdin/stdout JSON contract, then lets an agent call those skills without giving up ownership of planning, chat, memory, or graph state.
Why skrun
Section titled “Why skrun”- Build Rust binary skills as portable local artifacts.
- Build uv-backed Python skills with the same executable contract.
- Install skills under a local root and call them by id or path.
- Keep skill execution separate from the agent framework’s main loop.
- Call skills through CLI, Rust runtime, or the Python
skrunpackage. - Use documentation coverage checks to keep humans and coding agents aligned.
Module Map
Section titled “Module Map”The important boundary is the executable skill runtime. The Rust workspace contains crates for skill metadata, artifact build/run, protocol types, command execution, and Python bindings. The Python package mirrors the Rust runtime boundary through PyO3 instead of shipping a separate subprocess fallback.
Install
Section titled “Install”pip install skruncargo install skrunMinimal Python Use
Section titled “Minimal Python Use”import skrun
result = skrun.skill("regex-finder").call({ "action": "match", "input": { "pattern": "\\d+", "text": "abc 123" }})What skrun Does Not Own
Section titled “What skrun Does Not Own”skrun is not a replacement for a personal coding agent, TUI, graph engine, or chat runtime. Agent frameworks such as RestFlow, Codex-style tools, LangGraph, or custom agents keep owning the model loop. skrun owns the executable skill artifact and the local call boundary.
Documentation Map
Section titled “Documentation Map”- Quickstart covers installation and the first local skill call.
- Examples covers the bundled binary skill examples.
- Frameworks shows how to wrap skills from existing agent frameworks.