Simon Willison

에이전트가 자기 작업의 비디오 데모를 찍게 하라 — shot-scraper video

Simon Willison

shot-scraper 1.10의 새 video 명령 — storyboard.yml을 받아 Playwright로 웹앱 루틴을 비디오로 녹화. 코딩 에이전트가 자기 작업의 데모를 스스로 만들게 하려는 시도. 예시 스토리보드는 Codex Desktop의 GPT-5.5 xhigh가 --help 출력만 보고 통째로 작성 — --help이 도구 안에 SKILL.md를 번들한 것처럼 작동한다. 기능 코드·문서·Pydantic 기반 YAML 포맷도 전부 에이전트가 작성했고, 문서를 먼저 쓰게 해 설계 리뷰의 틀로 삼았다. Playwright 1.61의 screencast로 마침내 구현 — 2024년 2월에 낸 이슈를, 에이전트 지원 없이는 손대지 않았을 기능.

에이전트가 자기 작업의 비디오 데모를 찍게 하라

생각 덩어리

새 video 명령과 그 이유 — 에이전트가 데모를 만들게 하기

shot-scraper video is a new command introduced in today’s shot-scraper 1.10 release which accepts a storyboard.yml file defining a routine to run against a web application and uses Playwright to record a video of that routine. I’ve written before about the importance of having coding agents produce demos of their work; this is my latest attempt at enabling them to do that.

GPT-5.5 xhigh가 짠 스토리보드 — 통째로 에이전트 작성

That demo YAML storyboard was constructed entirely by GPT-5.5 xhigh running in Codex Desktop...

The video command documentation includes simpler examples, but for the purpose of this post I thought I’d go with something more comprehensive.

에이전트에게 준 프롬프트 — 브랜치 리뷰부터 데모 DB 녹화까지

Review the changes on this branch. cd to ~/dev/shot-scraper and run the command "uv run shot-scraper video --help" Now use that new video command to record a video demo of the new features from this branch, including running a "uv run datasette -p 6419 --root --secret 1 /tmp/demo.db" development server so you can record the video against a demo DB that you first create.

--help이 곧 SKILL.md — 도구 안에 사용법을 번들하다

I really like this pattern where the --help output for a command provides enough detail that a coding agent can use it—it works kind of like bundling a SKILL.md file directly inside the tool. I used the same pattern for showboat and rodney.

Playwright screencast까지의 길 — 800px 고정과 흰 프레임을 넘어

shot-scraper video started as an experimental prototype. shot-scraper is built on top of Playwright, and the key feature it needed was for Playwright to be able to record video of browser sessions with enough control to create the desired demo.

Playwright 1.59 added a new screencast mechanism providing much more finely grained control over video recording. This was very nearly what I needed, but the resulting videos were fixed at 800px wide.

I found a landed PR fixing that but it wasn’t yet in a release. Then yesterday they shipped it in playwright-python 1.61.0 and I was finally unblocked to finish implementing the feature!

코드도 문서도 에이전트가 — 문서가 곧 설계 리뷰의 틀

The code itself was all written by GPT-5.5 xhigh in Codex Desktop. I had it write the documentation as well which gave me a very useful frame for reviewing the design—much of the iteration on the feature came from reviewing that documentation, spotting things that were redundant, inconsistent or confusing, and requesting (or dictating) a better design.

The YAML format itself was mostly defined by the coding agent. I had it use Pydantic to both define and validate the format, partly to make the design easier to review.

에이전트 없이는 안 했을 기능 — 2024년 2월의 이슈

This is a great example of the kind of feature that I almost certainly wouldn’t have taken on without coding agent support. I filed the original issue in February 2024, and had difficulty finding the necessary time to solve this in amongst all of my other projects.

원본 사이트 →