본문으로 건너뛰기
cccskills
무료GitHub에 공개

browser-recording

Records browser sessions via Playwright and converts video to GIF. Use when creating web UI tutorials or demos showing browser interactions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Playwright
설치 방법 보기

포함된 파일(3)

  • SKILL.md5.4 KB
  • modules/spec-execution.md3.8 KB
  • modules/video-capture.md4.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Shapes turns action-first: action leads, steps numbered, state restated. Use for ADHD-friendly output. Do not use to trim tokens; use response-compression.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 17일 업데이트

Inverts burden of proof for code additions. Use when reviewing PRs, planning refactors, or running unbloat to challenge every addition's necessity.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 17일 업데이트

Tracks per-agent token usage and flags waste in parallel dispatch. Use when evaluating parallel agent efficiency or after a multi-agent run.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 17일 업데이트

Coordinates Claude agent teams via filesystem protocol. Use when orchestrating parallel agents with task dependencies. Do not use for single-agent tasks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 17일 업데이트

Evaluates API surface design, consistency, and exemplar alignment. Use when reviewing public API changes or before releasing a new API surface.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 17일 업데이트

Selects architecture paradigm via research before scaffolding. Use when architecture is undecided and the choice needs justification and documentation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 17일 업데이트

athola의 스킬 모두 보기

이 스킬의 문제 신고