browser-recording
/browser-recording
Nagrywa sesje przeglądarki przez Playwright i konwertuje wideo na GIF, na potrzeby samouczków i dem interfejsu webowego.
- Autor
- athola ↗
- Repozytorium
- claude-night-market ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 01.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 3
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 1
Brak sygnałów. Repozytorium zmienione 01.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Nagrywa sesje przeglądarki przez Playwright i konwertuje wideo na GIF, na potrzeby samouczków i dem interfejsu webowego.
Oryginalny opis (EN)
Records browser sessions via Playwright and converts video to GIF. Use when creating web UI tutorials or demos showing browser interactions.
Jak działa
- When To Use
- When NOT To Use
- Overview
- Required TodoWrite Items
- Process
- Example Playwright Spec
- Playwright Configuration
- Exit Criteria
- Error Handling
- Output Locations
Podgląd SKILL.md
---
name: browser-recording
description: Records browser sessions via Playwright and converts video to GIF. Use when creating web UI tutorials or demos showing browser interactions.
alwaysApply: false
category: media-generation
tags:
- playwright
- browser
- recording
- video
- web
- tutorial
tools: []
complexity: medium
model_hint: standard
estimated_tokens: 500
progressive_loading: true
modules:
- modules/spec-execution.md
- modules/video-capture.md
dependencies:
- scry:gif-generation
---
# Browser Recording Skill
Record browser sessions using Playwright to create video captures of web UI interactions for tutorials and documentation.
## When To Use
- Recording browser sessions with Playwright
- Creating web application demo recordings
## When NOT To Use
- Terminal-only workflows - use scry:vhs-recording instead
- Static screenshots - use standard screenshot tools
## Overview
This skill uses Playwright's built-in video recording to capture browser interactions. The workflow:
1. Validate Playwright installation
2. Execute a Playwright spec with video recording enabled
3. Retrieve the recorded video (WebM format)
4. Convert to GIF using the gif-generation skill
> **💡 Note**: Claude Code 2.0.72+ includes native Chrome integration for interactive browser control. This skill (Playwright) is designed for **automated recording workflows, CI/CD, and cross-browser support**. For interactive debugging and live testing, consider using native Chrome integration. Both approaches complement each other - develop interactively with Chrome, then automate with Playwright specs.
## Required TodoWrite Items
When invoking this skill, create todos for:
```
- [ ] Validate Playwright is installed and configured
- [ ] Check spec file exists at specified path
- [ ] Execute Playwright spec with video recording
- [ ] Locate and verify video output
- [ ] Convert video to GIF using gif-generation skill
```
**Verification:** Run the command with `--help` flag to verify availability.
## Process
### Step 1: Validate Playwright Installation
Check that Playwright is available:
```bash
npx playwright --version
```
**Verification:** Run the command with `--help` flag to verify availability.
If not installed, the user should run:
```bash
npm install -D @playwright/test
npx playwright install chromium
```
**Verification:** Run `pytest -v` to verify tests pass.
### Step 2: Check Spec File
Verify the Playwright spec file exists. Spec files should:
- Be located in a `specs/` or `tests/` directory
- Have `.spec.ts` or `.spec.js` extension
- Include video configuration (see spec-execution module)
### Step 3: Execute Recording
Run the spec with video enabled:
```bash
npx playwright test <spec-file> --config=playwright.config.ts
```
**Verification:** Run `pytest -v` to verify tests pass.
The config must enable video recording. See the spec-execution module for configuration details.
### Step 4: Convert to GIF
After recording completes, use the gif-generation skill to convert the WebM video to an optimized GIF:
```
**Verification:** Run the command with `--help` flag to verify availability.
Invoke scry:gif-generation with:
- input: <path-to-webm>
- output: <desired-gif-path>
- fps: 10 (recommended for tutorials)
- width: 800 (adjust based on content)
```
**Verification:** Run the command with `--help` flag to verify availability.
## Example Playwright Spec
```typescript
import { test, expect } from '@playwright/test';
test('demo workflow', async ({ page }) => {
// Navigate to the application
await page.goto('http://localhost:3000');
// Wait for page to be ready
await page.waitForLoadState('networkidle');
// Perform demo actions
await page.click('button[data-testid="start"]');
await page.waitForTimeout(500); // Allow animation to complete
await page.fill('input[name="query"]', 'example search');
await page.waitForTimeout(300);
await page.click('button[type="submit"]');
await page.waitForSelector('.results');
// Final pause to show results
await page.waitForTimeout(1000);
});
```
**Verification:** Run `pytest -v` to verify tests pass.
## Playwright Configuration
Create or update `playwright.config.ts`:
```typescript
import { defineConfig } from '@playwright/test';
export default defineConfig({
use: {
video: {
mode: 'on',
size: { width: 1280, height: 720 }
},
viewport: { width: 1280, height: 720 },
launchOptions: {
slowMo: 100 // Slow down actions for visibility
}
},
outputDir: './test-results',
});
```
**Verification:** Run `pytest -v` to verify tests pass.
## Exit Criteria
- Playwright spec executed successfully (exit code 0)
- Video file exists in output directory
- Video has non-zero file size
- GIF conversion completed (if requested)
## Error Handling
| Error | Resolution |
|-------|------------|
| Playwright not installed | Run `npm install -D @playwright/test` |
| Browser not installed | Run `npx playwright install chromium` |
| Spec file not found | Verify path and file extension |
| Video not created | Check Playwright config has video enabled |
| Empty video file | validate spec actions complete before test ends |
## Output Locations
Default output paths:
- Videos: `./test-results/<test-name>/video.webm`
- Screenshots: `./test-results/<test-name>/screenshot.png`
## Module Reference
- See `modules/spec-execution.md` for detailed Playwright execution options
- See `modules/video-capture.md` for video format and quality settings
## See Also
- scry:gif-generation: Convert video to optimized GIF
Pliki w paczce (3)
- SKILL.md 5 KB
- modules/spec-execution.md 4 KB
- modules/video-capture.md 4 KB
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · athola/claude-night-market | 100 | MIT |
| kirodotdev/kirocrew | 100 | Apache-2.0 |
Migawka bazy z 28.10.2026 · wersja paczki 1892bfe5afba (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100playwright-recording
Nagrywa interakcje w przeglądarce jako wideo przez Playwright, na potrzeby filmów demo, przejść po aplikacji i przepływów UI do filmów Remotion. - 100record-browser-gif
Nagrywa demonstracje działania przeglądarki lub interfejsu webowego jako zoptymalizowane GIF-y z deterministycznym kodowaniem i publikuje je w gałęzi assets, by dołączyć do pull requesta. - 100record-browser-gif
Nagrywa demonstracje interakcji w przeglądarce jako zoptymalizowane GIF-y i dołącza je do pull requestu przez gh, a w razie potrzeby przez osobną gałąź z zasobami. - 100record-gif
Nagrywa animowane GIF-y z animacji stron internetowych przy użyciu zrzutów Playwright i ffmpeg, na potrzeby demonstracji i podglądów funkcji. - 100record-e2e-gif
Nagrywa testy e2e w Playwright jako osobny GIF dla każdego przypadku testowego i zwraca tabelę markdown do opisu pull requestu. - 100pr-demo
Tworzy animowane dema w formie GIF do pull requestów i dokumentacji: nagrywa terminal w asciinema i konwertuje do GIF lub SVG pod osadzenie na GitHubie.