A video for every release

A clip for every release, from the same cut.

Updated October 2026

How it works

Three steps, in the order they happen.

demo.jsonin the repo
{ "url": "https://tweakcn.com",
"steps": [
{ "do": "click", "selector": "text=Presets" },
{ "do": "drag", "selector": "#hue" },
{ "do": "click", "selector": "text=Copy" } ] }

Script the feature’s flow. Write an actions.json for the new feature: wait, hover, click, type, scroll, move.

Claude Code
$ vos record --actions demo.json --strict
✓ 29 s take · 11 cursor moments
$ vos push take --label "v2.1"

Record in CI or by agent. The vos CLI records it headless with machine-readable output and exit codes, and the GitHub Action runs it on the pull request and posts the video there.

vos.so/vos/995a0b5dplays the latest
v8Callout moved
v7Text pinned to what it points at
v5Zoom at 0:15 now follows the cursor

Keep it at one link. Push it to vos.so and the release gets a link that plays.

Questions

How do I automatically create videos for release notes?

Keep a scripted browser flow (actions.json) next to each feature and run the vos CLI or the GitHub Action in your release pipeline: record the take headless, then render it. Edits are patches to a JSON document rather than re-recordings, so the output is stable enough to review.

Can an AI agent make my changelog videos?

Yes. The pipeline is built for agents: no TTY needed, machine-readable output, and the take’s doc.json is the whole edit surface. An agent that shipped a feature can write the flow, record it, tune the zooms and hand you a link to the video.

Something else? hello@vos.so

Ship the video with the release.