Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Skiller.run

A runtime for agentic workflows.

Skiller runs agentic flows as durable executions with persistent state, safe resume, and full observability logs.

What It Does

  • Runs durable YAML flows that can include agents
  • Pauses and resumes flows from persisted waiting states
  • Provides CLI to observe and manage persisted runs
  • Includes a TUI for chatting with agents, launching flows, and managing runs
name: mono
description: "Terminal agent chat with shell and file access"
version: "0.1"
start: ask_user

inputs: {}

steps:
  - wait_input: ask_user
    prompt: "Write a task or message. Type exit, quit, or bye to stop."
    next: decide_exit

  - switch: decide_exit
    value: '{{output_value("ask_user").payload.text}}'
    cases:
      exit: done
      quit: done
      bye: done
    default: mono_agent

  - agent: mono_agent
    system: |
      You are a concise assistant for this flow.
    instructions:
      - "solve-task-style"
      - "response-style"
    task: '{{output_value("ask_user").payload.text}}'
    tools:
      - shell
      - files
    max_turns: 50
    next: ask_user

  - assign: done
    values:
      status: "closed"

Install

For regular CLI usage, install it with pipx:

pipx install skiller

STUI for chat and launch runs

Use skiller when you want an interactive terminal UI to chat, launch runs, and manage persisted runs.

skiller

Use CLI to run flows

Run a packaged or configured flow reference:

skiller run @flows
skiller run @group/name

Direct paths are also supported:

skiller run ./my-flow.yaml
skiller run ~/flows/my-flow.yaml

Inspect and manage runs:

skiller status <run_id>
skiller logs <run_id>
skiller delete <run_id>

Flow Steps

Deterministic:

  • assign
  • notify
  • switch
  • when

Execution:

  • agent
  • shell

Waiting:

  • wait_input
  • wait_webhook

Persistence

Skiller persists:

  • run state
  • step outputs
  • runtime log events
  • waiting states
  • external event receipts
  • persisted output bodies

Waiting is persisted, not simulated in memory. A run can stop in WAITING and resume later from stored state.

How Mono Is Built

mono is a regular YAML-defined agent with local runtime configuration beside it. The flow is intentionally small:

  • wait for terminal input with wait_input
  • stop on exit, quit, or bye with switch
  • send every other message to an agent step
  • let that agent use its configured shell and files tools
  • loop back to wait_input

Minimal shape:

name: mono
start: ask_user

steps:
  - wait_input: ask_user
    next: decide_exit

  - switch: decide_exit
    default: support_agent

  - agent: support_agent
    tools:
      - shell
      - files
    next: ask_user

The full prompt and step definition live in apps/agents/mono/agent.yaml. The provider, loop limits, shell allowlist, and file roots live in apps/agents/mono/agent.json.

Project Layout

  • packages/skiller/src/skiller: runtime and CLI code
  • apps/agents/mono: bundled terminal agent
  • packages/skiller/docs: runtime and CLI documentation
  • packages/skiller/tests: runtime, CLI, and integration tests
  • apps/tui: Textual UI app

Documentation

Core guides:

Step references:

Development

Run the main checks:

./.venv/bin/python -m ruff check packages/skiller/src apps/tui/src packages/skiller/tests apps/tui/tests
./.venv/bin/python -m pytest packages/skiller/tests apps/tui/tests
./.venv/bin/python -m build --no-isolation

Manual CLI E2E flows live in packages/skiller/tests/e2e/cli_*.sh. Use them when you need to exercise the real CLI path without mixing those checks into the default pytest suite.

License

Apache-2.0. See LICENSE.

Disclaimer

This project is provided "as is", without warranties of any kind. The authors and contributors are not responsible for production incidents, data loss, service interruptions, security issues, regulatory non-compliance, third-party integration failures, or any direct or indirect damages resulting from its use.

Metadata

Release files for skiller 0.1.0b37

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for skiller 0.1.0b37
File Size Uploaded
skiller-0.1.0b37.tar.gz 313.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skiller 0.1.0b37
File Interpreter ABI Platform
skiller-0.1.0b37-py3-none-any.whl Python 3 none any Details

Total release size: 843.3 kB

Release files / skiller-0.1.0b37.tar.gz

Download URL skiller-0.1.0b37.tar.gz
Size 313.6 kB
Tags Source
SHA-256 checksum
How to use checksums
fb5c85fd479576155a53efc7661d8ae260001d0cb72f18f36e4134231d385cdb
BLAKE2b-256 checksum
How to use checksums
07bb1ed8435a24b5332a83550b3f753ed3d31e1f4c99d47cf301e55dadbe2217
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release files / skiller-0.1.0b37-py3-none-any.whl

Download URL skiller-0.1.0b37-py3-none-any.whl
Size 529.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc146d06ebc366ad77a08090f6ab1c7ce5421bdec99d36caf7b46f85344f5bdd
BLAKE2b-256 checksum
How to use checksums
1b587626e5031bc5a5c98fec89d6bb399b9a8cd78dac92cceb7ada4443e43cf0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0b37 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page