Skip to content

Guide · Agent skill

How to use the Proof Video Recorder agent skill (proof-video)

Updated · written with AI from the project's own documentation and checked against our catalogue data

The proof-video skill teaches an AI agent to produce visual evidence that a ClawHub web change works. It drives a real browser against a local ClawHub instance, records the session, adds captions and zooms with ffmpeg, and attaches clearly labelled before and after clips to a GitHub pull request. This guide explains what an agent skill is, how to install this one, how to trigger it, and what you need before it will run.

Proof Video Recorderopenclaw/clawhub · MIT

Quick start

  1. 1Download and unzip the skill. Download the ZIP from this page and unzip it so that SKILL.md sits in a proof-video folder.
  2. 2Place the folder or upload it. Copy the folder to ~/.claude/skills/ or a project's .claude/skills/, or upload it under Settings → Capabilities → Skills in the Claude apps.
  3. 3Check the requirements. Confirm Bun, a running local ClawHub with Convex, Playwright with a browser, ffmpeg and ffprobe on the path, and an authenticated gh CLI are all available.
  4. 4Ask for the proof in plain language. Describe the feature, the page, the PR and the visible result you want captured.
  5. 5Record with the proof runner. The agent runs bun run proof:ui with a scenario file against your local candidate URL, and a baseline URL too for before/after proof.
  6. 6Edit and inspect. The agent renders captions and zooms with ffmpeg, then checks full-size frames across the whole timeline before anything is published.
  7. 7Attach to the PR. The agent posts the comment with native attachments and checks the returned video URLs in the posted comment.

What an agent skill is and what proof-video makes the agent do

An agent skill is a folder containing a SKILL.md file with instructions that an AI agent reads when a task matches the skill's description. This skill is a single SKILL.md file. Its description is: capture, edit, inspect, and attach real ClawHub browser proof directly to a GitHub PR, with captions, focused zooms, and clearly separated before/after results.

Once triggered, the instructions ask the agent to name the behaviour under test, its exact source refs, local URL, fixture and expected visible result before recording. The agent then uses a real isolated browser, not mockups or intercepted responses, and renders the video with the system ffmpeg and ffprobe. Captions are burned into the MP4 because GitHub's player does not show separate subtitle tracks.

  • Records a real browser session against a local ClawHub instance
  • Adds short captions, speed-up of idle waiting only, and focused 1.5–2× zooms
  • Labels failed baselines as BEFORE — expected failure and passing candidates as AFTER — successful result
  • Attaches media to a GitHub PR as native attachments instead of committing files to a branch
  • States which checks were real, simulated or untested

Install the proof-video skill from the ZIP

Download the ZIP for this skill from this page and unzip it. The skill folder contains SKILL.md. Put the folder in one of these locations:

For a personal install for all your projects, place it in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder. If you use the Claude apps instead, open Settings, go to Capabilities, then Skills, and upload the skill there.

  • Personal: ~/.claude/skills/
  • Project only: .claude/skills/ inside the repository
  • Claude apps: Settings → Capabilities → Skills, then upload

Check the requirements before you trigger it

The skill assumes a working setup on the host. It will not create these for you. Confirm each item first, because a missing tool will stop the recording partway through.

Playwright and a browser must be installed on the host. ffmpeg and ffprobe must be on the system path. The GitHub CLI (gh) must be authenticated with access to the repository. The skill is written for ClawHub and expects the local Convex code and fixture state to be running. Crabbox is optional and only needed if its environment is required.

  • Bun, to run the proof:ui runner
  • A local ClawHub instance with Convex running
  • Playwright and a browser installed on the host
  • ffmpeg and ffprobe on the system path
  • GitHub CLI (gh) authenticated with access to the repository
  • Optional: Crabbox environment if needed

Trigger the skill with natural requests

You do not need a special command. Describe the proof you want in plain language and mention the pull request, the feature and the visible result. The agent should match the skill from the description and follow its steps.

Good requests name the change, the page and what a reviewer should see. Include the PR number and repository if you want the comment posted automatically.

  • Record a before and after video of the new search filter on our ClawHub instance and attach it to PR 123 in openclaw/clawhub.
  • Make a captioned proof recording of the install flow for this branch, with a zoom on the result, and post it as a PR comment.
  • Capture the admin pending-scan state and the catalog lookup for this change as feature proof, then attach the MP4 to the PR.

The recording workflow in practice

The skill uses the existing proof runner with a task-specific scenario file. A single-state feature recording looks like this. Replace the scenario path and URL with your own.

For paired proof, use --mode before-after with --baseline-url and --candidate-url. The skill points to scripts/ui-proof-runtime.mjs for the scenario contract and specs/ui-proof.md for runtime isolation. Keep the same viewport, theme, account, data and interaction sequence for both runs.

  • Keep raw recordings, scripts and cue times in ignored local directories such as .artifacts/
  • Wait on asserted UI state, responses or live events rather than fixed sleeps
  • Capture desktop and mobile when a change is responsive
  • Explain any loading, empty, error or permission state that you did not capture
bun run proof:ui -- --runner local --mode feature \ --scenario .artifacts/proof-scenarios/example.pw.ts \ --candidate-url http://127.0.0.1:3000

Edit the recording with captions and zooms

The skill keeps the raw recording and renders a new file with the system ffmpeg. It also keeps a small cue sheet of timestamps on the raw timeline. Each caption should say what the viewer sees and what it proves, in one or two lines.

Show the page and the starting action at normal speed. Speed up only idle waiting and label the multiplier on screen. Return to 1× before the result. Hold the decisive result for several seconds, and keep captions away from it. Measure latency at real speed.

If a browser WebM only needs compatible encoding, the skill uses this transcode. It is not captioning or verification.

ffmpeg -n -i recording.webm -c:v libx264 -pix_fmt yuv420p \ -movflags +faststart proof.mp4

Inspect the output before you publish

The skill asks the agent to open every final screenshot and check every video across its full timeline. Look at full-size frames at the starting action, caption changes, zoom holds, speed boundaries and the final result. Confirm the state shown is the real one, the text is readable, and no private data is visible. A contact sheet helps you scan the timeline but does not replace full-size frames.

Re-record or re-edit anything that is misleading, blank, clipped or stale. Do not claim a capture passed just because the file exists.

Attach the proof to the pull request

The skill uses GitHub's native attachments and never commits screenshots, videos, reports or .artifacts/ output to a product branch. Write the comment to an ignored Markdown file first. Check gh pr comment --help to confirm the --attach option exists in your installed version.

Attachments cannot be deleted after upload, so review and sanitise every file first. The CLI accepts videos up to 100 MB, but your GitHub account limit may be lower. Prefer editing an existing proof comment over posting duplicates, and put the video URL on its own bare line so GitHub shows a player.

  • Lead with the successful AFTER result and disclose any required companion fix beside it
  • Keep the failed BEFORE clip separate and labelled as expected failure
  • Confirm the posted comment contains the intended image and video URLs
  • If direct attachment is blocked, keep the local media and report the failed operation rather than claiming it was published
gh pr comment 123 --repo openclaw/clawhub \ --body-file .artifacts/proof/comment.md \ --attach .artifacts/proof/after.mp4 \ --attach '.artifacts/proof/before.png#Before' \ --attach '.artifacts/proof/after.png#After'

Safety notes: scripts and network access

This skill runs scripts and uses the network. It drives a browser, runs the proof runner and talks to GitHub through gh. Only run it on a machine and account you control, against a local ClawHub instance rather than a production system. The skill says never to use an operator's personal Gateway for cross-system proof.

Treat recordings as public once posted. Remove private data, tokens and personal account details before attaching. The skill also warns against using intercepted success responses or synthetic UI as proof, because that would be misleading evidence.

  • Use local fixture data, not real user data
  • Never upload the whole artifact directory or browser state
  • Keep tokens out of logs and command arguments

What people use it for

  • Showing a reviewer that a new admin action leaves a security pending state visible in the UI
  • Comparing a failing baseline with a passing candidate for a ClawHub bug fix, clearly labelled
  • Producing a captioned walkthrough of a feature end to end for a maintainer's review
  • Recording desktop and mobile versions of a responsive page change for the same PR

Frequently asked questions

Is the proof-video skill free to use and what is its licence?

The skill is listed under the MIT licence. The source material does not state any price, so check the skill's listing for licence terms before you reuse it elsewhere.

How do I install an agent skill like proof-video?

Download the ZIP from this page and unzip it. Put the folder in ~/.claude/skills/ for personal use or in a project's .claude/skills/ folder, or upload it in the Claude apps under Settings → Capabilities → Skills.

What do I need installed before proof-video will work?

You need Bun, a local ClawHub instance with Convex running, Playwright with a browser, ffmpeg and ffprobe on the system path, and the GitHub CLI authenticated with repository access. Crabbox is optional.

Can I use proof-video for projects other than ClawHub?

The skill is written for ClawHub and uses its real-browser proof runner and fixture workflow. The source says the OpenClaw mocked Gateway template does not apply here, so adapting it to another project would need your own changes.

Why does the skill refuse to commit videos to a branch?

The skill never commits screenshots, videos or proof reports to a product branch. It uses GitHub's native attachments instead, and the old branch-upload helper is retired.

Can I undo an upload if I post the wrong recording?

No. The source says GitHub attachments cannot be deleted after upload, so inspect and sanitise every file before attaching it.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use proof-video if you maintain or review ClawHub changes and need captioned, honestly labelled browser evidence attached to a pull request. Skip it for changes with no visible UI, or if you cannot set up a local ClawHub with Playwright, ffmpeg and gh, since the workflow is heavy and assumes all of them.

Download the skill