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_and_examples() -> 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 "/examples" not in included_paths
assert "/.github" not in included_paths
assert "/.env.development" not in included_pathsWorkflows as code
Combine deterministic steps, agents, tools, and human input in one readable flow.
name: support
start: ask
steps:
- wait_input: ask
prompt: What should I do?
next: answer
- agent: answer
system: Be concise and helpful.
task: '{{output_value("ask").payload.text}}'
tools: [shell, files]
next: askRun 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