verify — Headless Terminal App Verification Recorder
Drive a kitty-graphics terminal app headlessly in a pty and produce a recorded video, timeline and checks summary as the deliverable.
Dev & CodingAdvanced★ 922⑂ 44AI score 7/10Last updated: Aug 11, 2026
What it does
- Runs the app inside a pty with no real terminal: the harness sets
TERM=xterm-kitty, pixel window dimensions via TIOCSWINSZ, and answers the 1016 mouse-mode probe. - Scripts input with
Driver: keys, text, click, press/drag/release, move, wheel — each with a description that becomes the video caption bar and a timeline entry. Recordercaptures every emitted frame, encodes an mp4, and writessummary.htmlwith a pass/fail checks table plus named stills.- Ends by opening the summary with
pixel open file:///tmp/verify-runs/<name>-<stamp>/summary.html— that page is the deliverable. - Documents real gotchas: take coords from
d.frame_size(the engine rounds down to the cell grid), send ESC as kitty CSI-u, drags need all three press/drag/release events, file args must be absolute paths.
Who it's for
- Developers building TUI/terminal apps that paint via the kitty graphics protocol and want visual regression checks without a live terminal.
- Teams that need a verification report showing what was tested and why, not a pile of loose PNGs.
- Projects that ship the
tools/verify-recorderharness, i.e. this repo's layout.
Examples
- Verify wheel panning keeps the cursor anchored: launch →
pump→ wheel 3× at center → assert frame count grew →still("after-scroll")→ open summary. - Verify drag selection: send
press,drag,releaseseparately and check no stray click fires at the release position. - Capture hover styling: finish the interaction with a
move, then assert decoded pixel colors viarecorder.png_read(...).
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/zenbu-labs/terminal-browser/HEAD/.claude/skills/verify/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the .claude/skills/verify folder from the GitHub repo zenbu-labs/terminal-browser into my ~/.claude/skills/verify/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/zenbu-labs/terminal-browser.git && mkdir -p ~/.claude/skills/verify && cp -r terminal-browser/.claude/skills/verify/* ~/.claude/skills/verify/⚠ This is a third-party skill. Check the source repository before installing.
- Clone the repo:
git clone https://github.com/zenbu-labs/terminal-browser.git - Create the skill folder:
mkdir -p ~/.claude/skills/verify - Copy the skill in:
cp -r terminal-browser/.claude/skills/verify/* ~/.claude/skills/verify/ - Keep the clone — the skill depends on the
tools/verify-recorderpackage inside the repo; note its absolute path. - Build the app under test first (e.g.
cargo buildto produceengine/target/debug/...; for Node apps runnpm installin the package dir). - Make sure
ffmpeg(video encoding) and thepixelcommand (opening the summary) are available. - Restart Claude Code and ask it to "verify this app". Artifacts land in
/tmp/verify-runs/<name>-<stamp>/summary.html.
View source on GitHub ↗License: MIT