THE CHANGE IS THE STORY

Make your pull request
worth watching.

Ask your agent to demo the change.
It writes the scenario, checks the outcome, and records the story.

An agent skill. A Playwright library. A repeatable first take.

FIRST TAKErelease-checklist.demo.tsPLAYWRIGHT + SHOWRUNNER
THE SCENE

A release checklist.
One task to ship.

TAKE 001
your-app / release

WORKSPACE / RELEASE

Ready for the next release.

Good work deserves a good handoff.

Task
Draft taskAdd task
Your next task starts here.
01 / Set the scene with a chapter card.
01 Set the scene02 Type03 Act04 Assert

An illustration of the workflow, not a recorded run.Run the real, self-contained demo

LESS “HERE’S WHAT I CHANGED.”

More “here’s
how it works.”

A diff explains the implementation. A demo shows what the change feels like to use.

01

Point your agent at the change.

The skill guides your agent through the diff and your app’s existing routes, authentication, fixtures, and data.

02

Let it write and verify the story.

Your agent writes a Playwright scenario with meaningful assertions, then runs it without presentation delays to check the outcome.

03

Get a recording you can replay.

The agent records with readable pacing and reports the video, trace, and any limitations. The scenario stays with your app for the next change.

STANDARD LOCATORS. BETTER PRESENTATION.

A little direction.
Still your test.

Presentation delays set the pace. Playwright’s actionability checks and your assertions establish that the app is ready.

Explore the presentation API

Set pace: 0 for verification.
Keep the pacing for the recording.

profile.demo.tsTYPESCRIPT
import { test, expect } from "@smeltery/showrunner";

test("save a display name", async ({ page, demo }) => {
  await page.goto("/settings/profile");
  await demo.caption("Make it yours.");
  await demo.fill(
    page.getByRole("textbox", { name: "Display name" }),
    "River"
  );
  await demo.click(page.getByRole("button", { name: "Save" }));
  await expect(page.getByRole("status"))
    .toHaveText("Profile saved");
});

Adapt the route and accessible names to your application.

YOUR NEXT PR HAS A STORY.

Give it a good first take.

Give your agent the skill and a change to demonstrate. Keep the scenario with your code.

Set up the agent skill

Public package on GitHub Packages · Release downloads and local builds

showrunner.

EVERY CHANGE HAS A STORY

Where to next?