Skip to main content

Browser review loop for agent-authored plans

Project description

Showtime

An Agent Skills review loop for plans. An agent turns a finished plan into a single-page HTML artifact, hosts it in a dark browser shell, and blocks until the user approves or returns a comment batch.

The Showtime shell reviewing an artifact

  • Agent-facing contract: src/showtime/skill/SKILL.md
  • Runtime: Python 3.8+, standard library only
  • Contributor UI: React, TypeScript, Vite, and Tailwind

Install

Install the runtime once, then copy thin skill adapters into every harness that should discover Showtime:

uv tool install showtime-review
showtime skill install agents

pipx install showtime-review is equivalent. Before the PyPI release exists, install from the source repository:

uv tool install git+https://github.com/Darrick-Oliver/showtime-skill

Known destinations are agents, claude, codex, and pi; several may be installed together. Use --destination for another harness. skill install never overwrites a non-empty directory. To replace an old full clone with a thin adapter and timestamped backup, preview the operation first:

showtime skill migrate agents --dry-run
showtime skill migrate agents
showtime doctor

Update

Upgrade the shared runtime, then refresh each installed adapter:

uv tool upgrade showtime-review
showtime skill install agents
showtime doctor

For pipx installations, use pipx upgrade showtime-review followed by the same adapter command. Managed adapter updates are idempotent. Runtime upgrades never touch project artifacts or sidecars.

Architecture

src/showtime/cli.py       CLI, stdlib server, review protocol, adapter installer
  serve ARTIFACT         host the review and block for its outcome
  reply ARTIFACT FILE    validated agent reply channel into the sidecar
  reattach ARTIFACT ID   repair or accept an orphaned thread anchor
  config                 resolve and print the section contract
  doctor                 verify runtime assets and installed adapters
  skill install|migrate  manage thin harness adapters

src/showtime/config.json runtime-default section contract
src/showtime/ui/         compiled shell and iframe agent, bundled in the wheel
src/showtime/skill/      thin Agent Skill adapter and its authoring docs
scripts/showtime.py      source-checkout compatibility launcher

ui/src/shell/            React shell: chips, popover, drawer, composers
ui/src/agent/            iframe agent: quote anchoring and layout bridge
ui/src/protocol.ts       shared protocol and sidecar types

The shell frames the artifact in an iframe and communicates with the injected iframe agent over postMessage. Threads persist in a server-owned sidecar next to the artifact. The runtime binds 127.0.0.1 only. Approval is stamped into the artifact itself.

Config resolves whole-file layers in this order: <cwd>/.showtime/config.json, ~/.showtime/config.json, then the runtime default. See the adapter's docs/config.md for its schema and section obligations.

Developing

The Python runtime has no dependencies. Node 20+ is required only to change the shell:

cd ui
npm install
npm run build      # typecheck + builds -> src/showtime/ui/
npm test           # Vitest unit tests
npm run e2e        # Playwright against scripts/showtime.py
npm run dev        # shell only; artifact routes require `showtime serve`

src/showtime/ui/ is committed and included as wheel package data. Rebuild and commit it with every UI change; there is no CI check for stale assets.

Release

The package version has one source: src/showtime/__init__.py. To release:

  1. Update __version__ and commit it.
  2. Create a GitHub release tagged with the same version prefixed by v, such as v0.2.0.
  3. The publish.yml workflow verifies the tag, builds the wheel and source distribution, and publishes them to PyPI through OIDC trusted publishing.

One-time PyPI setup is required: register a pending trusted publisher for project showtime-review, owner Darrick-Oliver, repository showtime-skill, workflow publish.yml, and GitHub environment pypi. Add required reviewers to that environment before the first release. No PyPI token or GitHub secret is needed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

showtime_review-0.1.0.tar.gz (108.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

showtime_review-0.1.0-py3-none-any.whl (108.5 kB view details)

Uploaded Python 3

File details

Details for the file showtime_review-0.1.0.tar.gz.

File metadata

  • Download URL: showtime_review-0.1.0.tar.gz
  • Upload date:
  • Size: 108.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for showtime_review-0.1.0.tar.gz
Algorithm Hash digest
SHA256 414b828f864da7d0860b240e9d8591b9e761aab69a47de1da63fbbd1b752236d
MD5 7b318bca513d00ea4b710e6ce78fd603
BLAKE2b-256 ff587da57a12002e5c87de1b049af54916cb7b9b438359b0c519b8a564b7aa78

See more details on using hashes here.

Provenance

The following attestation bundles were made for showtime_review-0.1.0.tar.gz:

Publisher: publish.yml on Darrick-Oliver/showtime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file showtime_review-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: showtime_review-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 108.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for showtime_review-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1088eace898ac4d6b143818aa4470d1fafad297b3b9ed3ced6fdd03341dde088
MD5 5f80026dd32aed7fca270c6f90c3af8c
BLAKE2b-256 7f2fbe22b0b2ab3495a33d082bfa5f5ca5d94bcb7070b9e3d87cfa217571072c

See more details on using hashes here.

Provenance

The following attestation bundles were made for showtime_review-0.1.0-py3-none-any.whl:

Publisher: publish.yml on Darrick-Oliver/showtime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page