What problem does it solve?
Releasing Shiny for Python involves coordinating version bumps, CI checks, tagging, PyPI publishing, conda-forge feedstocks, Huggingface, and site updates across nine interdependent repositories, where a single missed step (like a mistitled GitHub Release or a stale PyPI pin) silently breaks downstream packages.
Core Features & Use Cases
- Interactive 13-phase release train: Walks through py-htmltools, py-shiny, py-shinyswatch, py-shinywidgets, shinylive (JS), py-shinylive, r-shinylive, docs site, conda-forge, Huggingface, and blog post publication with explicit user confirmation gates before any tagging or publishing.
- Pre-release verification gates: Scans for release-blocking
TODO: release markers, checks for git-based dependencies, verifies CI status without truncation, and requires explicit user approval before each publish.
- Shinylive example testing: Ships a Playwright script that tests all Python shinylive examples against local, github.io, or shinylive.io deployments with cache-busting and parallel batches.
- Use Case: A maintainer says "start the py-shiny 1.8.0 release" and the Skill drives the entire multi-repo train, catching pitfalls like the shinyswatch
TEST title trap, the broken make update_packages_lock, and PyPI index lag.
Quick Start
Start the py-shiny release train for version 1.8.0 and walk me through each phase with confirmation gates.