Automatic PR demo video recording for Claude Code using agent-browser
npx claudepluginhub strml/cc-pr-videosAutomatically record browser demo videos of pull requests using agent-browser
Share bugs, ideas, or general feedback.
A Claude Code plugin that automatically records browser demo videos of your pull requests.
When you run gh pr create, a background process analyzes your PR, opens the running dev server in a headed browser, interacts with the new feature, and saves a .webm recording to .tmp/pr-videos/ in your project.
gh pr create succeeds, Claude writes the PR URL to a sentinel file.claude/demo.json has auth config.webm video to .tmp/pr-videos/pr-<num>-<repo>-<topic>.webmAdd the marketplace, then install the plugin (project-scope recommended):
claude plugin marketplace add https://github.com/STRML/cc-pr-videos
claude plugin install cc-pr-videos --scope project
Then run the init command to configure your project:
/pr-videos:init
This creates .claude/demo.json (auth, base URL, hints) and adds the sentinel file instruction to your project's CLAUDE.md.
gh CLI authenticated.claude/demo.json in your project root:
{
"baseUrl": "http://localhost:3000",
"auth": {
"loginUrl": "/login",
"username": "test@example.com",
"password": "testpass"
},
"browserState": ".claude/demo-browser-state.json",
"outputDir": ".tmp/pr-videos",
"hints": "The new feature is at /settings/billing"
}
| Field | Description |
|---|---|
baseUrl | Dev server URL (overrides auto-detection) |
auth | Login credentials. Omit entirely if no auth needed. |
auth.loginUrl | Path to login page |
auth.username | Login username/email |
auth.password | Login password |
browserState | Path to persist browser cookies between recordings |
outputDir | Where to save recordings (default: .tmp/pr-videos). Videos are named pr-{num}-{repo}-{topic}.webm. |
hints | Free-text guidance for the recorder |
Each recording appends a summary to .claude/demo-feedback.log. Subsequent recordings read this log to avoid repeating mistakes — the recorder gets better over time.
.claude-plugin/
plugin.json # Plugin manifest
marketplace.json # Marketplace metadata
hooks/
hooks.json # Stop hook definition
scripts/
stop-trigger.sh # Reads sentinel, launches recorder
recorder-run.sh # Gathers PR context, runs nested Claude + agent-browser
commands/
init.md # /pr-videos:init command
MIT