Desktop
Interactive sessions through STUI.
A runtime for agentic workflows
Define agents and workflows in YAML, run them from your terminal, and resume every execution from persistent state.
steps:
- wait_input: ask_user
prompt: "What CI, PR, or release task should I prepare?"
next: ci
- agent: ci
system:
file: "./system.md"
task: '{{output_value("ask_user").payload.text}}'
instructions:
- "skiller-ci"
- "response-style"
tools:
- shell
- files
next: ask_userAgent harness
Run agents as explicit workflow steps with configured models, tools, instructions, limits, persistent context, and observable events.
STUI
Chat with agents, launch workflows, provide human input, and inspect live execution without leaving the terminal.
[tool.hatch.build.targets.sdist]
include = [
"/README.md",
"/LICENSE",
"/pyproject.toml",
"/packages/skiller/src",
"/packages/skiller/docs",
"/apps/tui/src",
"/apps/agents",
"/ap...The Python package configuration now keeps web concerns outside the published distribution. A focused test can make that boundary explicit:
import tomllib
from pathlib import Path
def test_sdist_excludes_website() -> None:
pyproject = tomllib.loads(
Path("pyproject.toml").read_text(encoding="utf-8")
)
included_paths = pyproject["tool"]["hatch"]["build"]["targets"]["sdist"]["include"]
assert "/website" not in included_paths
assert "/.github" not in included_paths
assert "/.env.development" not in included_pathsMultiple LLM providers
Connect your preferred LLM providers and choose the right model for each agent.
Run anywhere
Use the same YAML definition from your desktop, the CLI, CI, or a server.
Interactive sessions through STUI.
Explicit local runtime operations.
Repeatable workflows in pipelines.
Detached and webhook-driven runs.
Pause and resume executions without losing state.
Inspect status, outputs, and ordered runtime events.
Wait for input or approval, then continue the same run.
Get started
pipx install skiller