Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when the user asks to create a demo video, product walkthrough, feature showcase, animated presentation, marketing video, or GIF from screenshots or scene descriptions. Orchestrates playwright, ffmpeg, and edge-tts MCPs to produce polished video content.
.claude/skills/alirezarezvani-demo-video/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 812% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 80% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 113% | 0% |
You are a video producer. Not a slideshow maker. Every frame has a job. Every second earns the next.
Create polished demo videos by orchestrating browser rendering, text-to-speech, and video compositing. Think like a video producer — story arc, pacing, emotion, visual hierarchy. Turns screenshots and scene descriptions into shareable product demos.
Before starting, verify available tools:
If none are available, produce HTML scene files + scenes.json manifest + narration scripts. The user can composite manually or use any video editor.
| Mode | How | When | |------|-----|------| | MCP Orchestration | HTML → playwright screenshots → edge-tts audio → ffmpeg composite | Use when playwright + edge-tts + ffmpeg MCPs are all connected | | Manual | Write HTML scene files, provide ffmpeg commands for user to run | Use when MCPs are not available |
The Classic Demo (30-60s): Hook (3s) -> Problem (5s) -> Magic Moment (5s) -> Proof (15s) -> Social Proof (4s) -> Invite (4s)
The Problem-Solution (20-40s): Before (6s) -> After (6s) -> How (10s) -> CTA (4s)
The 15-Second Teaser: Hook (2s) -> Demo (8s) -> Logo (3s) -> Tagline (2s)
If no screenshots are provided:
Every scene has exactly ONE primary focus:
For each video, produce these files in a demo-output/ directory:
scenes/ — one HTML file per scene (1920x1080 viewport)narration/ — one .txt file per scene (for edge-tts input)scenes.json — manifest listing scenes in order with durations and narration textbuild.sh — shell script that runs the full pipeline:playwright screenshot each HTML scene → frames/edge-tts each narration file → audio/ffmpeg concat with crossfade transitions → output.mp4If MCPs are unavailable, still produce items 1-3. Include the ffmpeg commands in build.sh for the user to run manually.
See references/scene-design-system.md for the full design system: color language, animation timing, typography, HTML layout, voice options, and pacing guide.
| Anti-pattern | Fix | |---|---| | Slideshow pacing — every scene same duration, no rhythm | Vary durations: hooks 3s, proof 8s, CTA 4s | | Wall of text on screen | Move info to narration, simplify visuals | | Generic narration — "This feature lets you..." | Use specific numbers and concrete verbs | | No story arc — just listing features | Use problem -> solution -> proof structure | | Raw screenshots | Always add rounded corners, shadows, dark background | | Using ease or linear animations | Use spring curve: cubic-bezier(0.16, 1, 0.3, 1) |
engineering/browser-automation — for playwright-based browser workflows| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | pass→pass | 29,687 | 27,049 | -9% | 1 | 1 | 0% | 6,177 | 7,442 | +20% | 0 | 0 | — |
case-07 | fail→fail | 18,486 | 16,185 | -12% | 1 | 1 | 0% | 3,111 | 4,571 | +47% | 0 | 0 | — |
case-01 | fail→pass | 4,967 | 16,086 | +224% | 1 | 1 | 0% | 330 | 3,011 | +812% | 0 | 0 | — |
case-02 | fail→pass | 25,707 | 27,316 | +6% | 1 | 1 | 0% | 6,216 | 7,481 | +20% | 0 | 0 | — |
case-03 | fail→pass | 28,007 | 24,366 | -13% | 1 | 1 | 0% | 6,220 | 7,485 | +20% | 0 | 0 | — |
case-04 | pass→pass | 13,677 | 10,647 | -22% | 1 | 1 | 0% | 2,471 | 3,268 | +32% | 0 | 0 | — |
case-05 | pass→pass | 14,376 | 8,370 | -42% | 1 | 1 | 0% | 2,600 | 2,745 | +6% | 0 | 0 | — |
case-08 | pass→pass | 14,624 | 5,850 | -60% | 1 | 1 | 0% | 2,638 | 2,349 | -11% | 0 | 0 | — |
case-09 | pass→pass | 16,622 | 7,891 | -53% | 1 | 1 | 0% | 3,306 | 2,895 | -12% | 0 | 0 | — |
case-10 | pass→pass | 13,999 | 3,220 | -77% | 1 | 1 | 0% | 2,731 | 1,857 | -32% | 0 | 0 | — |
case-11 | fail→fail | 11,918 | 13,792 | +16% | 1 | 1 | 0% | 2,152 | 4,038 | +88% | 0 | 0 | — |
case-12 | fail→fail | 10,159 | 7,665 | -25% | 1 | 1 | 0% | 1,721 | 2,645 | +54% | 0 | 0 | — |
case-13 | fail→pass | 9,526 | 9,399 | -1% | 1 | 1 | 0% | 1,659 | 2,990 | +80% | 0 | 0 | — |
case-14 | fail→pass | 4,989 | 4,551 | -9% | 1 | 1 | 0% | 961 | 2,048 | +113% | 0 | 0 | — |
case-15 | pass→pass | 10,182 | 3,472 | -66% | 1 | 1 | 0% | 1,882 | 1,919 | +2% | 0 | 0 | — |
case-16 | fail→pass | 8,138 | 1,948 | -76% | 1 | 1 | 0% | 1,613 | 1,630 | +1% | 0 | 0 | — |
case-17 | pass→pass | 8,177 | 1,861 | -77% | 1 | 1 | 0% | 1,663 | 1,590 | -4% | 0 | 0 | — |
case-18 | fail→fail | 10,937 | 7,204 | -34% | 1 | 1 | 0% | 2,069 | 2,790 | +35% | 0 | 0 | — |
case-19 | pass→pass | 9,601 | 6,266 | -35% | 1 | 1 | 0% | 1,814 | 2,369 | +31% | 0 | 0 | — |
case-20 | fail→pass | 13,522 | 6,972 | -48% | 1 | 1 | 0% | 2,538 | 2,570 | +1% | 0 | 0 | — |
case-21 | pass→pass | 9,221 | 3,399 | -63% | 1 | 1 | 0% | 1,522 | 1,794 | +18% | 0 | 0 | — |
case-22 | pass→pass | 4,803 | 3,354 | -30% | 1 | 1 | 0% | 854 | 1,824 | +114% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +32 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.