By strml
Automatically record browser demo videos of pull requests using agent-browser
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": "[email protected]",
"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
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub strml/cc-pr-videos --plugin cc-pr-videosMulti-model AI plan review: run any acpx-supported agent (Codex, Gemini, Kimi, Qwen, etc.) in parallel, synthesize feedback, debate contradictions
Detects plugin marketplace updates at session start and flags security-relevant changes for review
Language-agnostic codemap generator for Claude Code. Scans your codebase and generates token-lean architecture maps that load into context at session start.
iTerm2 tab highlighting for Claude Code permission requests — orange tab + dock bounce on permission, auto-reset on focus
Persistent cross-session memory for Claude Code. Hooks extract learnings automatically; Sonnet + Opus maintain MEMORY.md files per project and globally.
Media generation capabilities for terminal recordings (VHS), browser recordings (Playwright), GIF processing, and media composition
Run E2E browser tests using natural language test definitions powered by Claude Code SDK and agent-browser with video recording
Convert Playwright traces into polished demo videos with TTS voiceover, styled subtitles, zoom, and speed control
Quality assurance - E2E testing, PR review, browser automation
Self-serve QA for your PR — browser-based verification of ticket requirements before you push.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.