Your PR diff → an AI agent → Playwright videos.
An AI agent reads your changed components, generates realistic interaction flows, replays them with Playwright, and posts the videos as a PR comment. 12-line install. No JS SDK. No S3. No infrastructure.
How it works
Three steps.
Twelve lines.
One workflow file, one secret. The agent handles the rest on every PR — $0.001 to $0.005 per run.
Add the workflow file
Drop this 12-line YAML into .github/workflows/recordloop.yml. That's the entire install — no pip, no npm, no bridge server. The action handles its own dependencies on the runner.
# .github/workflows/recordloop.yml
name: RecordLoop
on:
pull_request:
types: [opened, synchronize, reopened]
permissions:
pull-requests: write
jobs:
recordloop:
runs-on: ubuntu-latest
if: github.event.pull_request.head.repo.full_name == github.repository
steps:
- uses: vihaanshahh/recordloop@v1
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}Add your OpenAI key as a secret
One secret. That's it. Use the gh CLI or Settings → Secrets and variables → Actions. Azure OpenAI works too if you need compliance-friendly routing.
# one-liner via the gh CLI
gh secret set OPENAI_API_KEY
# or, for a free smoke test with no key:
# set env RECORDLOOP_DRY_RUN=1 on the actionOpen a PR — get a video comment
On every PR, the agent reads your diff, generates Playwright flows targeted at the changed components, replays them against your preview URL, and posts the MP4s as a comment.
## RecordLoop · PR #42
The agent read 4 changed files and generated 2 flows:
1. Submit checkout form with new coupon field
2. Tab through the redesigned settings modal
[watch 01-checkout.mp4] · [watch 02-settings.mp4]
Cost: $0.0024 · Model: gpt-5.4 · 7 iterationsFeatures
An agent that understands
your PR diff.
12-line install
One workflow file, one secret. `uses: vihaanshahh/recordloop@v1` and you're done. No JS SDK, no bridge server, nothing to commit.
AI reads your diff
An agent loop reads your PR's changed files with tools (read_file, read_diff, list_files) and generates realistic Playwright flows that exercise exactly what changed.
30+ frameworks
Universal file filter covers React, Vue, Svelte, Angular, Astro, Nuxt, Blazor, Razor, Rails ERB, Phoenix, Django, HTMX, plain HTML — anything that ships markup.
Bounded cost
$0.001–$0.005 per PR on gpt-5.4. Agent is hard-capped at 10 iterations, 30 files, 50K input tokens — worst case ~$0.10 even on reasoning models.
Open source (MIT)
Every line of the analyzer, the action, and the agent prompts is auditable on GitHub. MIT licensed. Fork it, self-host it, read it.
Zero infra
Everything runs on the GitHub runner. No JS SDK in your bundle. No bridge server. No S3 bucket. No committed session files. Supports OpenAI and Azure OpenAI.
Pricing
OpenAI cost passthrough.
Nothing else.
RecordLoop is MIT licensed and free forever. You pay your own OpenAI (or Azure OpenAI) bill — roughly $0.001 to $0.005 per PR. No seats, no tiers, no markup.
Need compliance-friendly routing? Point the action at your own Azure OpenAI deployment — your code never leaves your tenant. Read the docs or check the MIT license.
FAQ
Common questions
Twelve lines. One secret. Every PR.
Stop writing UI tests.
Let the agent do it.
Add the workflow file. Set OPENAI_API_KEY. Open a PR. Done.