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
Hermes Agent git clone --depth 1 https://github.com/HamzaIlyas/stillwright /tmp/stillwright && mkdir -p ~/.hermes/skills/stillwright && cp -R /tmp/stillwright/skills/. ~/.hermes/skills/stillwright/ (picked up on the next message; /skills list shows them)

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

# Any OS with Python
pip install stillwright
# 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.

Measured on three small tasks against a plain agent of the same model: same task completion, an auditable plan and log every time, zero false claims (the plain side had one mild one), about twice the wall time, and reports that broke the five-line rule every time (as did the plain side's). After one skill fix, a re-run met the rule in all three tasks. Numbers, caveats and raw runs: docs/evals.md.

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

MIT © Hamza Ilyas · Built at Folvix.

Metadata

Release files for stillwright 0.1.2

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.2
File Size Uploaded Provenance
stillwright-0.1.2.tar.gz 18.6 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for stillwright 0.1.2
File
stillwright-0.1.2-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
stillwright-0.1.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
stillwright-0.1.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
stillwright-0.1.2-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
stillwright-0.1.2-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.2.tar.gz

Download URL stillwright-0.1.2.tar.gz
Size 18.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9d2e5141f22e960998ee479b902245c8ad5732b12a49ac46662f98ade20482f5
BLAKE2b-256 checksum
How to use checksums
9fbf1fc13d1c3f6759d55c99820909ca5dc00c32b5a5e498e850afbab17611e3
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.2-py3-none-win_amd64.whl

Download URL stillwright-0.1.2-py3-none-win_amd64.whl
Size 500.3 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
4db3688f084e0ce9069eb6bbf153310431a9355f1c524490bee219640751f843
BLAKE2b-256 checksum
How to use checksums
f04df6da8ff839e5c251c42211dc00d38702c658ef7f0117c4218e885e7e752c
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.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL stillwright-0.1.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 559.2 kB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
13784f492164e0a61aa7b9042e97ed06240adb988d972c31e0a90b440a2fe31a
BLAKE2b-256 checksum
How to use checksums
304f52290a996afb504c5fb7f5061474b219102606fe346c49c1e110cff1c368
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.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL stillwright-0.1.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 524.7 kB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
9c12c2c2fb5f99cf1a33cfed2ffd96af67be7c7cc93422f1a9001324ee0ecb70
BLAKE2b-256 checksum
How to use checksums
19d6927ee61afd99587b1b60e6be7f3ba3104d2a941247f067d5ab07d920feea
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.2-py3-none-macosx_11_0_arm64.whl

Download URL stillwright-0.1.2-py3-none-macosx_11_0_arm64.whl
Size 507.5 kB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d1fca845cf4440798983c2b416b2b65ecc340910116f2fb06ba28da562675607
BLAKE2b-256 checksum
How to use checksums
679d217f768332759806a672f5c1206ee32dde6d713ddc49d96cb12c8402f00e
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.2-py3-none-macosx_10_12_x86_64.whl

Download URL stillwright-0.1.2-py3-none-macosx_10_12_x86_64.whl
Size 544.5 kB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
93013b4e430e31de61acfb25d0e8355315b68a65b8198eb81d526c177bab71d2
BLAKE2b-256 checksum
How to use checksums
486fb1d7f47e6593b929835c83efe833dc6ca00252ec6a0a17c238cc07089dc4
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.2

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.2.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