Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By ThePatriczek
Converts Playwright test traces into polished demo videos with AI-generated voiceover scripts, SRT subtitles, speed control, and zoom effects, transforming technical UI actions into marketing narration.
npx claudepluginhub thepatriczek/playwright-recast --plugin playwright-recastGuide for using playwright-recast to convert Playwright traces into demo videos. Use when the user asks to create product demos, generate videos from tests, add voiceover to traces, or process Playwright recordings.
Generate voiceover scripts and subtitles from technical video descriptions or Gherkin feature files. Transforms raw UI actions into benefit-driven marketing narration. Use when creating demo video scripts, voiceover text, SRT subtitles, or writing doc strings for playwright-bdd feature files.
Generate a polished demo video from a Playwright trace recording. Reads trace actions, writes voiceover scripts, generates SRT subtitles, and runs the recast pipeline. Use when the user has recorded a browser session with recast-studio and wants to produce a video, or says "generate video from trace", "process my recording", "make a demo".
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Playwright E2E test debugging and interactive browser exploration. Runs tests with action capture (DOM snapshots, network, console, screenshots), diagnoses failures, and provides browser tools for navigating, clicking, and inspecting pages through ARIA snapshots.
Media generation capabilities for terminal recordings (VHS), browser recordings (Playwright), GIF processing, and media composition
Production-grade Playwright testing toolkit. Generate tests from specs, fix flaky failures, migrate from Cypress/Selenium, sync with TestRail, run on BrowserStack. 55+ ready-to-use templates, 3 specialized agents, smart reporting that plugs into your existing workflow.
Browser automation and E2E testing with Playwright. Auto-detects dev servers, writes clean test scripts. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use for cross-browser testing, visual regression, API testing, component testing in TypeScript/JavaScript and Python projects.
v9.40.3 — Hardened multi-LLM council with extracted benchmark routing, capability-aware role fit, CLI-visible warnings, diversity, veto, quorum, and implementation gates. Run /octo:setup.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Transform Playwright traces into stunning demo videos — automatically.
Your Playwright tests already capture everything — traces, screenshots, network activity, cursor positions. playwright-recast turns those artifacts into polished, narrated product videos with a single fluent pipeline.
https://github.com/user-attachments/assets/418d996d-2e18-4ae8-9ccc-3e5161dc7af8
Recording product demos is painful. Every UI change means re-recording. Manual voiceover and subtitling takes hours. Timing is always off.
playwright-recast flips this:** your Playwright tests become your video source.** Write tests once, regenerate polished videos on every deploy.
import { Recast, ElevenLabsProvider } from 'playwright-recast'
await Recast
.from('./test-results/trace.zip')
.parse()
.speedUp({ duringIdle: 3.0, duringUserAction: 1.0 })
.subtitlesFromSrt('./narration.srt')
.voiceover(ElevenLabsProvider({ voice: 'daniel' }), { normalize: true })
.render({ format: 'mp4', resolution: '1080p' })
.toFile('demo.mp4')
That's it. Trace in, polished video out.
narrate(), highlight(), zoom(), pace() — importable helpers for Playwright step definitions. narrate/highlight/zoom write marker steps directly into the trace zip, so the pipeline picks them up automatically via subtitlesFromTrace() (no report.json or extra pipeline calls needed).render({ embedSubtitles: true }) muxes a toggleable subtitle track into the container (mov_text for mp4, webvtt for webm).npx playwright-recast -i trace.zip -o demo.mp4 — no code needed.npm install playwright-recast
# or
bun add playwright-recast
System requirement: ffmpeg and ffprobe must be on your PATH.
# macOS
brew install ffmpeg
# Ubuntu
sudo apt install ffmpeg
Trace inputs. Two layouts work: