Skip to main content

Stillwright

CI Release License

sw status, a run two steps in, one review card answered, two goals

A quiet maker for your AI agent. It gets to know you, then keeps working on your goals: plans them, finds and vets the right tools, proves every step, and only speaks when it needs you, in five lines or fewer.

Any goal with a way to check it: code, research, writing, launches, operations. It runs inside the agent you already use: Claude Code, Codex, Gemini CLI, OpenCode and any agent that reads Agent Skills.

Why

  • Agents say "done" when it isn't. Stillwright passes a step only when an independent check proves it: tests run, page loads, source says so.
  • There are too many tools. Thousands of skills, MCP servers and repos, some malicious. Stillwright picks by evidence, reads the code before trusting it, asks you once, and pins it by hash so it can't change silently. If nothing fits, it builds the tool itself.
  • Agents talk too much. One inbox (ask, review, notify, idea). Silence is the default.

Install

Agent Command
Claude Code claude plugin marketplace add HamzaIlyas/stillwright then claude plugin install stillwright@stillwright
Codex codex plugin marketplace add HamzaIlyas/stillwright, then install Stillwright from /plugins
Gemini CLI gemini extensions install https://github.com/HamzaIlyas/stillwright
Cursor loads the root plugin.json (Agent Plugins standard); marketplace listing pending
OpenCode, or any Agent Skills agent npx skills add HamzaIlyas/stillwright

The skills need the sw binary (a single file, no runtime). Any of these installs it:

# Linux / macOS
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/HamzaIlyas/stillwright/releases/latest/download/stillwright-installer.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy Bypass -c "irm https://github.com/HamzaIlyas/stillwright/releases/latest/download/stillwright-installer.ps1 | iex"
# From source (needs Rust)
cargo install --git https://github.com/HamzaIlyas/stillwright --locked

On Linux and macOS the skills can also install it on first use (skills/stillwright/scripts/get-sw.sh, pinned to a release version), when you are present to approve it.

Use

New here? The quickstart takes ten minutes, and CI runs every command in it. Also: troubleshooting, Windows notes, and a real example run.

Tell your agent a goal, or just say "stillwright". The first time, it asks a few short questions to get to know you. After that:

sw status          what's going on, in three lines
sw inbox list      the only things that need you
sw goal add "..."  give it more work

To keep it working while you're away, schedule one loop per hour, for example claude -p "Use the stillwright skill: run one loop, then stop." from cron. Unattended runs never push, deploy, publish or install anything new; those wait in your inbox.

What's inside

Skill Does
stillwright the loop: pick goal → plan → get tools → execute → verify → report
sw-onboard learns who you are and what you want, in three short rounds at most
sw-scout finds, vets, trials and pins the best existing tool for a job
sw-forge builds and tests a new skill when nothing good exists
sw-verify independent, default-fail proof for every step
sw-radar spots what matters to you (updates, risks, new tools) as rare idea cards
sw-deep-search research that ends in verified, sourced answers
sw-context-diet keeps long sessions lean and cheap
sw-launch pitch, README, posts and launch plan for what you build

All state is plain files in ~/.stillwright (profile, goals, inbox, notes, pinned tools, run logs). Nothing leaves your machine except what your agent already sends.

sw is a single Rust binary, so there is nothing to install besides it, and it is ready to become a background service later.

Status

v0.1. Each rule answers a failure that has been measured or reported, not a hunch:

  • Agents mark work done without testing it: Anthropic's notes on long-running agent harnesses. Hence independent, default-fail checks.
  • Agents rarely ask for help at the right moment and fill gaps with wrong assumptions: HiL-Bench. Hence the typed inbox with silence as default.
  • Agent success falls as tasks get longer; METR measures how long a task an agent completes at 50% and at 80% reliability, and the 80% horizon is much shorter: METR time horizons. Hence small, checkable steps.
  • Hundreds of malicious skills were found on a public skill registry in early 2026 (341 of 2,857 scanned): Snyk, "From SKILL.md to Shell Access", Unit 42 on the OpenClaw skill marketplace. Hence vetting, approval and hash-pinning before any third-party tool runs.
  • In a controlled test with a limited verification budget, agents followed a constraint that had since been withdrawn in about three of four decisions: arXiv 2608.25553. Hence dated notes that are retired, not overwritten.

Issues and PRs welcome. Found a gap? Open an idea.

MIT © Hamza Ilyas · Built at Folvix.

Metadata

Release files for stillwright 0.1.1

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

Source distribution (sdist)

Source distribution for stillwright 0.1.1
File Size Uploaded Provenance
stillwright-0.1.1.tar.gz 18.2 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for stillwright 0.1.1
File
stillwright-0.1.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
stillwright-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
stillwright-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
stillwright-0.1.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
stillwright-0.1.1-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 2.7 MB

Release files / stillwright-0.1.1.tar.gz

Download URL stillwright-0.1.1.tar.gz
Size 18.2 kB
Tags Source
SHA-256 checksum
How to use checksums
cc1cfcb432d05bc79cb1783c50a9dba515c86cc561fb5794098718ec8f70c477
BLAKE2b-256 checksum
How to use checksums
09ea0ab1cb275d697bcc2a23e1e2f369662b24161d6d7bb4d0d10a02b722caaf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Release files / stillwright-0.1.1-py3-none-win_amd64.whl

Download URL stillwright-0.1.1-py3-none-win_amd64.whl
Size 500.0 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
daa125a6eb918e34d2dc3a77282898f0d04cda7d358df8da37227cfde8cd3213
BLAKE2b-256 checksum
How to use checksums
d23e087a2a4c26767a36967f9e64bdf2d2624596d6cfe72865f6e105d9265717
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Release files / stillwright-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL stillwright-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 558.9 kB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8b735936b05b0f05b1642672e35d53290832d272a77276df353599505e0b844c
BLAKE2b-256 checksum
How to use checksums
b4c3c863efbcdcb86fc12f860ef16df0ee4eec9f95e12803b0f7e75b2915af8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Release files / stillwright-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL stillwright-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 524.4 kB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
889eeddd6a576fc748323065fb016e8533099a20c43f045e4653974b0b090f7b
BLAKE2b-256 checksum
How to use checksums
bc3c3ab199cb2ea506687610f656225aa16ff1820d36060e86a4b0a52961ae6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Release files / stillwright-0.1.1-py3-none-macosx_11_0_arm64.whl

Download URL stillwright-0.1.1-py3-none-macosx_11_0_arm64.whl
Size 507.2 kB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ceb94503a0d87963997400ab8207bad71ff877b3e2629572c5bb7650d39af7e6
BLAKE2b-256 checksum
How to use checksums
289f5a8984799eb395a7afd4f7d24a8d64c4e3eece8a7a990a4106e17aad020d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Release files / stillwright-0.1.1-py3-none-macosx_10_12_x86_64.whl

Download URL stillwright-0.1.1-py3-none-macosx_10_12_x86_64.whl
Size 544.2 kB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
96b21eed509b2f4fbdf76bf519fe69ac9faa702eb4176c56cd9be4e7795cb4d2
BLAKE2b-256 checksum
How to use checksums
dc03aad9e13b944220b9bc9aa5b23e960ae3a9baccbd148dd0425c6d5ce1d537
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Security for stillwright 0.1.1

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.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for stillwright-0.1.1.tar.gz

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 Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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