The practitioner takeaway
Shot-scraper 1.10's video command matters less as a screenshot upgrade and more as a pattern for agentic tool design. Simon Willison deliberately structured the --help output to give coding agents complete context for using the command - the same role a SKILL.md file plays in agent orchestration frameworks. When Willison prompted GPT-5.5 xhigh in Codex Desktop to build a Datasette feature demo, the agent ran shot-scraper video --help, parsed the storyboard format, and generated a complete multi-scene storyboard.yml without consulting any external documentation. That design principle - --help output as a self-sufficient agent skill contract - is directly reusable in any CLI tool targeting agentic workflows.
What the command does
shot-scraper video storyboard.yml drives Playwright to record browser sessions as WebM video. A storyboard YAML defines setup steps (server:, sh:, python:), viewport size, cursor visibility, an initial URL, and JavaScript to run at startup, then one or more named scenes. Each scene contains a sequence of actions: click, type, fill, press, scroll, , wait_for, wait_for_url, open, screenshot, sh, python, and javascript/js. Output is a .webm file; pass --mp4 to also convert via ffmpeg. The YAML schema is validated with Pydantic, which makes LLM-generated storyboards reliably well-formed.
Why it took two years
Willison filed the original feature request in February 2024 (issue #142). Playwright's video recording API at the time added unwanted UI chrome and fixed recordings at 800px wide. The unblock arrived with playwright-python 1.61.0 (released days before this feature shipped), which added the configurable-width screencast API that shot-scraper needed. The implementation and storyboard documentation were both written by GPT-5.5 xhigh in Codex Desktop; Willison's contribution was design review and iteration through the documentation itself. He notes this is a feature he almost certainly would not have shipped without coding agent support.
Agentic demo pattern
Willison's broader argument, developed in earlier posts on showboat and rodney, is that coding agents should produce working demos of the features they build - both as a correctness proof and as a communication artifact. The Datasette bulk-insert demo in this release was generated autonomously by a coding agent from a single prompt asking it to review branch changes and then record a video. The agent ran the help command, planned the storyboard structure, and produced a working YAML covering two scenes and a local server setup.
Other 1.10 changes
shot-scraper multi and shot-scraper video now exit with a non-zero code if embedded sh: or python: blocks fail, closing a silent-failure gap in automation pipelines. shot-scraper javascript gains --width and --height options for setting viewport dimensions before script execution.
Key Points #
-
1What: shot-scraper video storyboard.yml records WebM demos via Playwright from YAML storyboards defining scenes, clicks, fills, JavaScript, and embedded server setup.
-
2Why: Willison filed this feature in February 2024; a two-year blocker cleared when Playwright 1.61.0 added configurable-width screencasting, enabling the final implementation.
-
3So what: The --help-as-agent-SKILL-file pattern is portable - any CLI tool can be made agent-ready by ensuring its help output alone gives an LLM enough context to act.
Scoring Rationale #
A well-timed tooling release from Simon Willison with genuine agentic engineering signal: the '--help as SKILL.md' pattern for agent-ready CLIs is a portable design idea. Scope remains niche - a Python CLI tool update - but relevant to the growing practitioner audience building with coding agents.
Practice interview problems based on real data
1,625 SQL & Python problems across 15 industry datasets — the exact type of data you work with.