Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
athola avatar

Browser Recording

  • 104 installs
  • 325 repo stars
  • Updated August 2, 2026
  • athola/claude-night-market

Record Playwright test runs as video so you can debug flaky UI flows and share repros without re-running locally.

About

browser-recording is an agent skill for solo builders who want Playwright specs executed with session video turned on. It documents how to define a minimal defineConfig with video: 'on' and outputDir under ./test-results, then scale to a full recording profile with explicit video size, viewport, headless defaults, slowMo for visible steps, contextOptions.recordVideo, retries disabled, and a single worker so captures stay deterministic. You use it when UI or E2E tests need visual proof for CI failures, stakeholder review, or agent-driven regression checks—not when you only need trace logs or screenshots. For Prism’s ship journey, it sits beside other QA skills as a concrete integration pattern: configure once, run specs/demo.spec.ts or filtered tests, and collect artifacts under test-results and optional videos subfolders. Intermediate complexity assumes you already have Playwright installed and spec files; the skill does not replace test authoring, only reliable recorded execution.

  • Minimal and full playwright.config.ts examples with video on and 1280×720 size
  • Video modes: on, off, retain-on-failure, on-first-retry via mode and recordVideo context options
  • Headless runs with optional slowMo (100ms) and workers: 1 for consistent recordings
  • CLI patterns: npx playwright test, custom config path, and -g test name filtering

Browser Recording by the numbers

  • 104 all-time installs (skills.sh)
  • Ranked #985 of 2,153 Testing & QA skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/athola/claude-night-market --skill browser-recording

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs104
repo stars325
Last updatedAugust 2, 2026
Repositoryathola/claude-night-market

What it does

Record Playwright test runs as video so you can debug flaky UI flows and share repros without re-running locally.

Files

SKILL.mdMarkdownGitHub ↗

Table of Contents

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:

npx playwright --version

Verification: Run the command with --help flag to verify availability.

If not installed, the user should run:

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:

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

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:

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

ErrorResolution
Playwright not installedRun npm install -D @playwright/test
Browser not installedRun npx playwright install chromium
Spec file not foundVerify path and file extension
Video not createdCheck Playwright config has video enabled
Empty video filevalidate 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

Related skills

Testing & QAtestingintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.