playwright-recording
Record browser interactions as video using Playwright.
Skill by digitalsamba
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/digitalsamba-playwright-recording
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, testing, browser-automation, audio-video
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/playwright-recording
What's inside
- Skill name
playwright-recording- Description
- Record browser interactions as video using Playwright. Use for capturing demo videos, app walkthroughs, and UI flows for Remotion videos. Triggers include recording a demo, capturing browser video, screen recording a website, or creating walkthrough footage.
- License
- MIT
- Instructions
- 466 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- reference.md
SKILL.md (first lines)
# Playwright Video Recording
Playwright can record browser interactions as video - perfect for demo footage in Remotion compositions.
## Quick Start
### Installation
```bash
# In your video project
npm init -y
npm install -D playwright @playwright/test
npx playwright install chromium
```
### Basic Recording Script
```typescript
// scripts/record-demo.ts
import { chromium } from 'playwright';
async function recordDemo() {
const browser = await chromium.launch();
const context = await browser.newContext({
viewport: { width: 1920, height: 1080 },
recordVideo: {
dir: './recordings',
size: { width: 1920, height: 1080 }
}
});
const page = await context.newPage();
// Your recording actions
await page.goto('https://example.com');
await page.waitForTimeout(2000);
await page.click('button.demo');
await page.waitForTimeout(3000);
// Close to save video
await context.close();
await browser.close();
console.log('Recording saved to ./recordings/');
}
recordDemo();
```
Run with:
```bash
npx ts-node scripts/record-demo.ts
# or
npx tsx scripts/record-demo.ts
```
## Recording Configuration
### Viewport Sizes
```typescript
// Standard 1080p (recommended for Remotion)
viewport: { width: 1920, height: 1080 }
// 720p (smaller files)
viewport: { width: 1280, height: 720 }
// Square (social media)
viewport: { width: 1080, height: 1080 }
// Mobile
viewport: { width: 390, height: 844 } // iPhone 14
```
### Video Quality Settings
```typescript
const context = await browser.newContext({
viewport: { width: 1920, height: 1080 },
recordVideo: {
dir: './recordings',
size: { width: 1920, height: 1080 } // Match viewport for crisp output
},
// Slow down for visibility
// Note: slowMo is on browser launch, not context
});
// For slow motion, launch browser with slowMo
const browser = await chromium.launch({
slowMo: 100 // 100ms delay between actions
});
```
## Recording Patterns
### Form Submission Demo
```typescript
import { chromium } from 'playwright';
async function recordFormDemo() {
const browser = await chromium.launch({ slowMo: 50 });
const context = await browser.newContext({
viewport: { width: 1920, height: 1080 },
recordVideo: { dir: './recordings', size: { width: 1920, height: 1080 } }
});
const page = await context.newPage();
await page.goto('https://myapp.com/form');
await page.waitForTimeout(1000);
// Type with realistic speed
await page.fill('#name', 'John Smith', { timeout: 5000 });
await page.waitForTimeout(500);
await page.fill('#email', 'john@example.com');
await page.waitForTimeout(500);
// Click submitFrom digitalsamba/claude-code-video-toolkit, MIT.
More from digitalsamba/claude-code-video-toolkit
- 0.833score
elevenlabs
digitalsamba
Generate AI voiceovers, sound effects, and music using ElevenLabs APIs.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
acestep
digitalsamba
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction, audio repainting, and continuation for video production.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
synthetic-ui-demo
digitalsamba
Product demo and release-notes videos with no screen recording.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
runpod
digitalsamba
Cloud GPU processing via RunPod serverless.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
qwen-edit
digitalsamba
AI image editing prompting patterns for Qwen-Image (Qwen-Image-Edit-2511 by default, Qwen-Image-2.1 as a non-commercial Modal opt-in).
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
ltx2
digitalsamba
AI video generation with LTX-2.3 22B — text-to-video, image-to-video clips for video production.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
ideogram4
digitalsamba
Prompting patterns for Ideogram 4 text-to-image — best-in-class in-image text rendering and exact color/layout control via structured JSON captions.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.829score
ffmpeg
digitalsamba
Video and audio processing with FFmpeg.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.829score
remotion
digitalsamba
Toolkit-specific Remotion patterns — custom transitions, shared components, and project conventions.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.828score
moviepy
digitalsamba
Python video composition with moviepy 2.x — overlaying deterministic text on AI-generated video (LTX-2, SadTalker), compositing clips, single-file build.py…
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.818score
remotion-best-practices
digitalsamba
Router for all Remotion skills
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.704score
video_toolkit
digitalsamba
Create professional videos autonomously using claude-code-video-toolkit — AI voiceovers, image generation, music, talking heads, and Remotion rendering.
SkillAFreshness: A★ 2.3KClaude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 2,330
- Forks
- 395
- Open issues
- 2
- Last commit (this folder)
- Dec 10, 2025 (10 months ago)
- Last release
- Oct 21, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from digitalsamba
- 0.833score
ideogram4
digitalsamba
Prompting patterns for Ideogram 4 text-to-image — best-in-class in-image text rendering and exact color/layout control via structured JSON captions.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
synthetic-ui-demo
digitalsamba
Product demo and release-notes videos with no screen recording.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
runpod
digitalsamba
Cloud GPU processing via RunPod serverless.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
qwen-edit
digitalsamba
AI image editing prompting patterns for Qwen-Image (Qwen-Image-Edit-2511 by default, Qwen-Image-2.1 as a non-commercial Modal opt-in).
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
ltx2
digitalsamba
AI video generation with LTX-2.3 22B — text-to-video, image-to-video clips for video production.
SkillAFreshness: A★ 2.3KClaude Code +9 - 0.833score
elevenlabs
digitalsamba
Generate AI voiceovers, sound effects, and music using ElevenLabs APIs.
SkillAFreshness: A★ 2.3KClaude Code +9
Cite this page
playwright-recording skill. Agent Mart. https://agentmart.dev/skills/digitalsamba-playwright-recording (last updated 2026-10-24)