The shot-scraper 1.10 release adds a new command, shot-scraper video, which accepts a storyboard.yml file describing a routine to run against a web application and uses Playwright to record a video of that routine. The author has previously argued for the value of coding agents producing demos; this command is intended to help enable that workflow.
Practical example: a Datasette demo
The author produced an example video showing a still-in-development feature that creates new tables in Datasette from pasted CSV, TSV, or JSON data. The video was recorded with this command:
shot-scraper video datasette-bulk-insert-storyboard.yml --auth datasette-demo-auth.json --mp4
According to the documentation, the --auth JSON file contains a cookie used for authentication. The example storyboard YAML defines a sequence of actions against a local development server: opening URLs, clicks, form fills, waits and preview checks, ultimately verifying that rows were inserted and a new table page was reached.
Storyboard generation: GPT and Pydantic
The demo YAML storyboard was constructed entirely by GPT-5.5 xhigh running in Codex Desktop. The author used Pydantic both to define and validate the YAML format, which made the design easier to review.
The author notes that the --help output for the new command provides sufficient detail for a coding agent to use the tool — a pattern similar to bundling a SKILL.md directly inside the tool. The same approach was used previously for showboat and rodney.
Technical challenges and Playwright versions
shot-scraper is built on top of Playwright, and a central requirement was the ability to record browser sessions with enough control to produce high-quality demos. Earlier Playwright-produced videos included extra chrome useful for debugging tests but undesirable for product demos, and recordings sometimes began before the first URL loaded, producing a few white frames at the start.
Playwright 1.59 introduced a screencast mechanism offering finer-grained control over recording, but early screencasts were fixed at an 800px width. A pull request fixed that limitation; the fix landed in source but was not immediately in a release. The author reports that the fix shipped in playwright-python 1.61.0, which removed the remaining blocker and allowed the feature to be finished.
Development workflow: model-written code, documentation, iteration
The author says the implementation code was written by GPT-5.5 xhigh in Codex Desktop, and the model also generated documentation. That documentation provided a useful review frame: much of the design iteration came from reading the generated docs, identifying redundancies or inconsistencies, and asking for improved designs.
This is an example of a feature the author likely wouldn't have taken on without coding-agent support: the original issue was filed in February 2024, and finding the time to solve it among other projects was difficult.
Summary
shot-scraper 1.10's video command lets you record browser interactions defined in a storyboard YAML, producing demonstration videos via Playwright. Recent Playwright improvements, the use of a generative model (GPT-5.5 xhigh) to draft code and storyboards, and Pydantic validation were key to delivering the feature. The Datasette demo shows how to run the command against a local development server and record a complete workflow.
Tags: projects, python, yaml, ai, datasette, playwright, shot-scraper, generative-ai, llms, pydantic, coding-agents, agentic-engineering



