Install
openclaw skills install @leshems/ai-demo-recorderRecord AI-driven browser demos with screencli. One command creates a polished screen recording with gradient backgrounds, auto-zoom, click highlights, and cursor trails — then uploads it to a shareable link. Use when the user wants to record a demo, screencast, walkthrough, or video of a web app.
openclaw skills install @leshems/ai-demo-recorderscreencli records an AI-driven browser session and produces a polished MP4 with gradient backgrounds, auto-zoom, click highlights, and cursor trails. The AI agent navigates the target URL following your prompt instructions, then the recording is composed with effects and auto-uploaded to screencli.sh with a shareable link. No video editing needed.
Use this skill when the user asks to:
Do not use this skill for:
Record a demo and get a shareable link:
npx screencli record https://example.com -p "Click the Sign Up button, fill in the form with test data, and submit"
On first run, the CLI opens a browser for GitHub login automatically. After that, it records the session, applies effects, uploads, and prints a shareable URL.
npx screencli record [url] -p "<prompt>" [options]
The URL and prompt are required. If omitted, the CLI prompts interactively.
| Flag | Default | Description |
|---|---|---|
-p, --prompt <text> | (required) | Instructions for the AI agent |
--background <name> | auto | Override gradient: midnight, ember, forest, nebula, slate, copper |
--viewport <WxH> | 1920x1080 | Browser viewport dimensions |
--login | off | Open browser for manual login before AI takes over |
--auth <name> | — | Save/load auth state by name |
--local | off | Skip cloud upload |
--unlisted | off | Upload as unlisted (not on public profile) |
--max-steps <n> | 50 | Maximum agent iterations |
--padding <percent> | 8 | Background padding (0-50%) |
--corner-radius <px> | 12 | Video corner radius |
--no-shadow | off | Disable drop shadow |
-m, --model <model> | claude-sonnet-4-20250514 | Claude model to use |
--slow-mo <ms> | 0 | Extra delay between actions |
-o, --output <dir> | ./recordings | Output directory |
-v, --verbose | off | Debug logging |
Simple — record a public page:
npx screencli record https://myapp.com -p "Navigate to the pricing page and compare the Free and Pro plans"
With auth — login to a private app first:
# First run: human logs in, auth state saved
npx screencli record https://app.internal.com -p "Show the dashboard metrics" --login --auth myapp
# Next runs: reuses saved session
npx screencli record https://app.internal.com -p "Export the monthly report" --auth myapp
Export a recording with platform-specific presets:
npx screencli export <recording-dir> --preset <name>
| Preset | Resolution | Aspect | Format | Max Duration |
|---|---|---|---|---|
youtube | 1920x1080 | 16:9 | mp4 | — |
twitter | 1280x720 | 16:9 | mp4 | 140s |
instagram | 1080x1920 | 9:16 | mp4 | 90s |
tiktok | 1080x1920 | 9:16 | mp4 | — |
linkedin | 1080x1080 | 1:1 | mp4 | — |
github-gif | 800x450 | 16:9 | gif | 12s |
npx screencli export ./recordings/abc123 --preset twitter
Export also accepts --background, --padding, --corner-radius, --no-shadow, --no-zoom, --no-highlight, and --no-cursor.
To record behind a login wall, use --login and --auth together on the first run:
npx screencli record https://app.example.com -p "..." --login --auth myapp
The browser opens for you to log in manually. Once done, the AI agent takes over and auth state is saved to ~/.screencli/auth/myapp.json.
On subsequent runs, pass just --auth:
npx screencli record https://app.example.com -p "..." --auth myapp
If a session expires, re-run with --login --auth <name> to refresh it.
Recordings auto-upload to screencli.sh by default. Skip with --local.
| Command | Description |
|---|---|
npx screencli login | Sign in to screencli cloud |
npx screencli logout | Sign out |
npx screencli whoami | Show current user, plan, and credits |
npx screencli recordings | List your recordings with links |
npx screencli upload <dir> | Upload a local recording to the cloud |
npx screencli delete <id> | Delete a cloud recording |
npx screencli render <id> | Re-render on the cloud with different background/preset |
1 credit = 10 agent steps. Free tier includes 15 credits/month.
After a recording uploads, the CLI shows credits used and remaining.
All recordings get automatic post-processing:
--background <name>)Toggle individual effects off with --no-zoom, --no-highlight, --no-cursor.
See references/effects.md for gradient colors and the full effects pipeline.
| Problem | Fix |
|---|---|
| Not logged in | Run npx screencli record — login is triggered automatically |
| FFmpeg missing | brew install ffmpeg (macOS) or see ffmpeg.org |
| Auth expired | Re-run with --login --auth <name> |
| Agent stuck or looping | Refine prompt, lower --max-steps |
| Recording too long | Use --max-steps to limit, or be more specific in prompt |
| Upload failed | Check npx screencli whoami for credits, retry with npx screencli upload <dir> |