Search

PythonReactSEOPDF
OpenClaw

demo-video

Create product demo videos by automating browser interactions and capturing frames. Use when the user wants to record a demo, walkthrough, product showcase, or interactive video of a web application. Supports Playwright CDP screencast for high-quality capture and FFmpeg for video encoding.

0xs4m13370 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install 0xs4m1337/demo-video

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

Demo Video Creator

Create polished product demo videos by automating browser interactions.

Overview

  1. Plan the demo sequence (pages, interactions, timing)
  2. Record frames using Playwright CDP screencast
  3. Encode to video with FFmpeg

Quick Start

Prerequisites
  • Clawdbot browser running (browser action=start profile=clawd)
  • App accessible via browser (localhost or remote)
  • FFmpeg installed for encoding
Recording Workflow
  1. Start the Clawdbot browser if not running
  2. Navigate to the app manually or via browser action=open
  3. Customize scripts/record-demo.js for the target app
  4. Run: node scripts/record-demo.js
  5. Encode: bash scripts/frames-to-video.sh

Planning a Demo

See references/demo-planning.md for guidance on:

  • Structuring demo sequences
  • Timing and pacing
  • Interaction patterns
  • What makes demos compelling

Scripts

scripts/record-demo.js

Template Playwright script that:

  • Connects to Clawdbot browser via CDP
  • Starts screencast capture (JPEG frames)
  • Executes demo sequence (navigation, clicks, hovers, typing)
  • Saves frames to output directory

Customize for each demo:

  • DEMO_SEQUENCES array - define pages and interactions
  • OUTPUT_DIR - where to save frames
  • FRAME_SKIP - skip every Nth frame (lower = more frames)
scripts/frames-to-video.sh

FFmpeg encoding script with presets:

  • mp4 - H.264, good quality/size balance (default)
  • gif - Animated GIF for embedding
  • webm - VP9, smaller files

Usage: ./frames-to-video.sh [input_dir] [output_name] [format]

Interaction Patterns

// Navigation
await page.goto('http://localhost/dashboard');
await page.waitForTimeout(2000);

// Click element
await page.locator('button:has-text("Create")').click();
await page.waitForTimeout(500);

// Hover (show tooltips, hover states)
await page.locator('.card').first().hover();
await page.waitForTimeout(1000);

// Type text
await page.locator('input[placeholder="Searc...

Source information

Source
github
Repository
openclaw/skills
Path
skills/0xs4m1337/demo-video
Version
—
Commit
7ebc7394a1ac493238c36d143fd2cd79b1bdb079
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# Demo Video Creator

Create polished product demo videos by automating browser interactions.

## Overview

1. **Plan** the demo sequence (pages, interactions, timing)
2. **Record** frames using Playwright CDP screencast
3. **Encode** to video with FFmpeg

## Quick Start

### Prerequisites

- Clawdbot browser running (`browser action=start profile=clawd`)
- App accessible via browser (localhost or remote)
- FFmpeg installed for encoding

### Recording Workflow

1. Start the Clawdbot browser if not running
2. Navigate to the app manually or via `browser action=open`
3. Customize `scripts/record-demo.js` for the target app
4. Run: `node scripts/record-demo.js`
5. Encode: `bash scripts/frames-to-video.sh`

## Planning a Demo

See `references/demo-planning.md` for guidance on:
- Structuring demo sequences
- Timing and pacing
- Interaction patterns
- What makes demos compelling

## Scripts

### `scripts/record-demo.js`

Template Playwright script that:
- Connects to Clawdbot browser via CDP
- Starts screencast capture (JPEG frames)
- Executes demo sequence (navigation, clicks, hovers, typing)
- Saves frames to output directory

**Customize for each demo:**
- `DEMO_SEQUENCES` array - define pages and interactions
- `OUTPUT_DIR` - where to save frames
- `FRAME_SKIP` - skip every Nth frame (lower = more frames)

### `scripts/frames-to-video.sh`

FFmpeg encoding script with presets:
- `mp4` - H.264, good quality/size balance (default)
- `gif` - Animated GIF for embedding
- `webm` - VP9, smaller files

Usage: `./frames-to-video.sh [input_dir] [output_name] [format]`

## Interaction Patterns

```javascript
// Navigation
await page.goto('http://localhost/dashboard');
await page.waitForTimeout(2000);

// Click element
await page.locator('button:has-text("Create")').click();
await page.waitForTimeout(500);

// Hover (show tooltips, hover states)
await page.locator('.card').first().hover();
await page.waitForTimeout(1000);

// Type text
await page.locator('input[placeholder="Searc...

Related skills

OpenClaw

13-Day Sprint Method

galizki

Productivity system based on Maya calendar with 13 natural tones for project management and personal development

OpenClaw

1password

daggerkun007

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.