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.

3,891 stars
Complexity: medium

About this skill

This AI agent skill enables the creation of professional-grade product demo videos through automated browser interactions. It leverages Playwright for precise control over web applications, allowing an agent to define a sequence of navigations, clicks, hovers, and typing actions. The skill captures frames during these automated interactions using Playwright's CDP screencast feature, ensuring detailed and accurate visual recordings of the web application's behavior. Once the frames are captured, the skill utilizes FFmpeg for efficient video encoding. Users can choose from various output formats like MP4, GIF, or WebM, catering to different needs for quality, file size, and embeddability. This modular approach allows for extensive customization of the demo sequence and output, making it a powerful tool for generating consistent and polished video content for product showcases, tutorials, or walkthroughs of web applications. The primary use case is for developers, marketers, or technical writers who need to create professional-grade video demonstrations of web applications without manual screen recording. It's particularly beneficial for showcasing new features, creating reproducible bug reports with visual evidence, or generating content for onboarding and marketing materials. By automating the recording process, it ensures consistency across multiple demos and saves significant time compared to manual recording and editing.

Best use case

The primary use case is to rapidly and consistently generate high-quality product demonstration videos for web applications. This skill benefits product managers, developers, QA engineers, and marketing teams who need to showcase features, create tutorials, or provide interactive walkthroughs, ensuring visual accuracy and reducing manual effort in video production.

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.

The user should expect a professional-quality video file (e.g., MP4, GIF, WebM) demonstrating specific automated interactions with a web application.

Practical example

Example input

Create a 60-second product demo video for my web application hosted at `http://localhost:3000`. The demo should navigate to the homepage, click on the 'Sign Up' button, fill out a registration form, and then show the success message. Save the output as an MP4 file named 'signup-demo.mp4'.

Example output

Successfully recorded 1200 frames of the demo sequence in `/tmp/demo-frames/`. Encoding frames to `signup-demo.mp4` using FFmpeg. Video production complete: `signup-demo.mp4` is now available in your working directory.

When to use this skill

  • When creating a product demo video for a web application.
  • To generate consistent, high-quality walkthroughs or tutorials.
  • When automating repetitive video content creation for web app features.
  • To produce interactive video showcases for marketing or sales.

When not to use this skill

  • When recording desktop applications or non-browser-based software.
  • For highly spontaneous or unscripted video content.
  • If you lack access to a browser automation environment (like Clawdbot) or FFmpeg.
  • For live streaming or real-time interactive video sessions.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/demo-video/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/0xs4m1337/demo-video/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/demo-video/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How demo-video Compares

Feature / Agentdemo-videoStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexitymediumN/A

Frequently Asked Questions

What does this skill do?

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.

How difficult is it to install?

The installation complexity is rated as medium. You can find the installation instructions above.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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="Search"]').fill('query');
await page.waitForTimeout(500);

// Press key
await page.keyboard.press('Enter');
await page.keyboard.press('Escape');

// Scroll
await page.evaluate(() => window.scrollBy(0, 300));
```

## Tips

- **Timing**: 2s on page load, 0.5-1s between interactions, 1.5s to show results
- **Frame skip**: Use 3-5 for smooth video, 8-10 for smaller files
- **Quality**: 85-90 JPEG quality balances size and clarity
- **Resolution**: Browser window size determines output resolution
- **Loops**: GIFs should loop seamlessly - end where you started

Related Skills

seedance-video

3891
from openclaw/skills

Generate AI videos using ByteDance Seedance. Use when the user wants to: (1) generate videos from text prompts, (2) generate videos from images (first frame, first+last frame, reference images), or (3) query/manage video generation tasks. Supports Seedance 1.5 Pro (with audio), 1.0 Pro, 1.0 Pro Fast, and 1.0 Lite models.

recipe-video-extractor

3891
from openclaw/skills

Extract a structured cooking recipe from a shared video URL when the user sends `recipe <url>`. Prioritize caption/description and comments via browser automation, then use web search/fetch as fallback with clear source attribution.

json2video-pinterest

3891
from openclaw/skills

Generate Pinterest-optimized vertical videos using JSON2Video API. Supports AI-generated or URL-based images, AI-generated or provided voiceovers, optional subtitles, and zoom effects. Use when creating video content for Pinterest affiliate marketing, creating vertical social media videos, automating video production with JSON2Video API, or generating videos with voiceovers and subtitles.

arch-video-cut

3891
from openclaw/skills

Automatic Architecture Video Editing Workflow with Self-Learning Preferences

short-video-script-generator-pro

3891
from openclaw/skills

AI Short Video Script Generator, support TikTok/YouTube Shorts/Instagram Reels, auto generate hook, shots, voiceover, subtitles, BGM, CTA. $0.005 USDT per use.

ai-notes-of-video

3891
from openclaw/skills

The video AI notes tool is provided by Baidu. Based on the video download address provided by the user, it downloads and parses the video, and finally generates AI notes corresponding to the video (a total of three types of notes can be generated: document notes, outline notes, and image-text notes).

keevx-video-translate

3891
from openclaw/skills

Translate videos into a specified target language using the Keevx API. Supports audio-only translation, subtitle generation, and dynamic duration adjustment. Use this skill when the user needs to (1) Translate/dub a video (2) Translate a video from one language to another (3) Query the list of supported translation languages (4) Check the status of a video translation task. Keywords video translate, Keevx, dubbing.

keevx-image-to-video

3891
from openclaw/skills

Use the Keevx API to convert images to videos. Supports multiple models (V/KL), various resolutions (720p/1080p/4K), and audio generation. Use this skill when the user needs to: (1) Convert images to video (2) Generate video with Keevx (3) Create and query image-to-video tasks (4) Batch image-to-video conversion. Keywords: image to video, Keevx, video generation.

ai-video-prompt

3891
from openclaw/skills

AI视频Prompt构建专家。采用"首尾帧图片+视频"工作流,支持多段5秒视频拼接生成长视频(30秒/60秒)。先生成关键帧图片,再生成视频Prompt,确保段与段之间无缝衔接。针对即梦平台优化,支持全中文Prompt输出。

seeddance-ai-video

3891
from openclaw/skills

集成字节跳动SeedDance AI视频生成API,支持文本到视频、图片到视频等功能

douyin-video-downloader

3891
from openclaw/skills

抖音视频下载工具 - 通过第三方解析服务实现无水印视频下载

douyin-video

3891
from openclaw/skills

抖音视频下载工具 - 解析抖音链接,下载视频并发送