Skip to main content
skill CX Codex

cli-anything-openscreen — Claude Code skill: video editing

A Claude Code skill that hands the agent a CLI for editing screen recordings: zooms, speed changes, trims, crops, text overlays, and ffmpeg renders.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add HKUDS/CLI-Anything --skill cli-anything-openscreen -a claude-code
Open on GitHub

What cli-anything-openscreen does

Puts a stateful CLI called cli-anything-openscreen next to the agent. It builds a project from a capture (project new -v recording.mp4 -o project.openscreen), stacks edits on the timeline, then renders with export render. Projects persist as .openscreen JSON, and ffmpeg does the encoding.

Edits are regions: zoom, speed, trim, annotation, and a crop defined in normalized coordinates. Times run in milliseconds, focus and crop values sit between 0 and 1. Undo keeps 50 steps, --json makes output parseable, and preview capture --recipe quick writes a low-res clip, sampled frames and summary.json so framing can be checked before the final pass.

Python 3.10+ and ffmpeg are required. Without ffmpeg installed, export render hands back nothing useful, so check that first. For demo videos you record again and again, running the same steps beats clicking through a GUI.

What it helps with

  • cut dead air out of a recording with trim regions
  • add a smooth zoom to the part that matters
  • speed up an idle stretch or slow a key moment down
  • burn a timed text caption over the video
  • render the finished project to mp4 or gif

Example prompts for the agent

  • Build a project from recording.mp4, trim the pauses, then render demo.mp4.
  • Put a zoom region over the settings panel and capture a quick preview bundle so I can look at it.
  • Probe demo.mp4 with media probe after the render and tell me whether the duration matches the project.

How to install cli-anything-openscreen

1Skills CLI (Vercel)

npx skills add HKUDS/CLI-Anything --skill cli-anything-openscreen -a claude-code

2Manually: put the files in place

~/.claude/skills/cli-anything-openscreen/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/cli-anything-openscreen/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about cli-anything-openscreen

How do I install cli-anything-openscreen in Claude Code?

Run npx skills add HKUDS/CLI-Anything --skill cli-anything-openscreen -a claude-code. The skill file lands at ~/.claude/skills/cli-anything-openscreen/SKILL.md.

What does cli-anything-openscreen do?

It gives the agent a command line for editing screen recordings: zoom regions, speed changes, trims, crops, text overlays and export to mp4 or gif. The project lives in an .openscreen JSON file and ffmpeg handles rendering.

What do I need before using it?

Python 3.10+ and ffmpeg on the machine. Export fails without ffmpeg, though the project-editing commands still work.

Source text

SKILL.md · Apache-2.0
---
name: "cli-anything-openscreen"
description: >-
  Command-line interface for Openscreen — a screen recording editor.
  A stateful CLI for editing screen recordings with zoom, speed ramps,
  trim, crop, annotations, and polished exports. Built on the Openscreen
  JSON project format with ffmpeg as the rendering backend. Designed for
  AI agents and power users who need programmatic video editing.
---

# cli-anything-openscreen

A stateful command-line interface for editing screen recordings. Transform raw
captures into polished demo videos with zoom effects, speed adjustments,
trimming, annotations, and beautiful backgrounds.

## Installation

```bash
pip install cli-anything-openscreen
```

**Prerequisites:**
- Python 3.10+
- ffmpeg must be installed on your system

## Usage

### Basic Commands

```bash
cli-anything-openscreen --help
cli-anything-openscreen                     # REPL mode
cli-anything-openscreen project new -v recording.mp4 -o project.openscreen
cli-anything-openscreen --json project info
```

### REPL Mode

Run `cli-anything-openscreen` without arguments to enter interactive mode.
Type `help` for available commands, `quit` to exit.

## Command Groups

### project

Create, open, save, and configure projects.

| Command | Description |
|---------|-------------|
| `project new [-v VIDEO] [-o PATH]` | Create new project with optional video |
| `project open <path>` | Open existing .openscreen project |
| `project save [-o PATH]` | Save project to file |
| `project info` | Show project metadata and region counts |
| `project set-video <path>` | Set source video file |
| `project set <key> <value>` | Set editor setting (padding, wallpaper, etc.) |

### zoom

Manage zoom regions — smooth zoom effects on specific timeline areas.

| Command | Description |
|---------|-------------|
| `zoom list` | List all zoom regions |
| `zoom add --start MS --end MS [--depth 1-6] [--focus-x 0-1] [--focus-y 0-1]` | Add zoom |
| `zoom remove <id>` | Remove zoom region |

Zoom depths: 1=1.25x, 2=1.5x, 3=1.8x, 4=2.2x, 5=3.5x, 6=5.0x

### speed

Manage speed regions — speed up idle time, slow down important moments.

| Command | Description |
|---------|-------------|
| `speed list` | List all speed regions |
| `speed add --start MS --end MS [--speed 0.25-2.0]` | Add speed change |
| `speed remove <id>` | Remove speed region |

Valid speeds: 0.25, 0.5, 0.75, 1.25, 1.5, 1.75, 2.0

### trim

Manage trim regions — cut out sections of the recording.

| Command | Description |
|---------|-------------|
| `trim list` | List all trim regions |
| `trim add --start MS --end MS` | Cut out a section |
| `trim remove <id>` | Remove trim region |

### crop

Set the visible area of the recording.

| Command | Description |
|---------|-------------|
| `crop get` | Show current crop region |
| `crop set --x 0-1 --y 0-1 --width 0-1 --height 0-1` | Set crop (normalized) |

### annotation

Add text overlays to the recording.

| Command | Description |
|---------|-------------|
| `annotation list` | List all annotations |
| `annotation add-text --start MS --end MS --text "..." [--x 0-1] [--y 0-1]` | Add text |
| `annotation remove <id>` | Remove annotation |

### media

Inspect and validate media files.

| Command | Description |
|---------|-------------|
| `media probe <path>` | Show video metadata (resolution, duration, codec) |
| `media check <path>` | Validate a video file |
| `media thumbnail <input> <output> [-t TIME]` | Extract a frame |

### export

Render the final polished video.

| Command | Description |
|---------|-------------|
| `export presets` | List available export presets |
| `export render <output_path>` | Render project to video file |

### preview

Capture truthful review bundles from the current Openscreen project.

| Command | Description |
|---------|-------------|
| `preview recipes` | List available preview recipes |
| `preview capture --recipe quick` | Render a low-res preview bundle |
| `preview latest [--recipe quick]` | Return the latest existing bundle |

Current preview support is static rather than live. A `quick` bundle typically
contains:

- a low-res preview clip
- sampled frames
- a `hero` frame for quick inspection
- `summary.json` with trim/zoom/speed facts

Bundle capture also writes or updates a stable recipe-level `trajectory.json`
beside the preview root so agents can reconstruct preview history over time.

Viewer commands:

```bash
cli-hub previews inspect /path/to/bundle
cli-hub previews html /path/to/bundle -o page.html
cli-hub previews open /path/to/bundle
```

### session

Manage session state with undo/redo.

| Command | Description |
|---------|-------------|
| `session status` | Show session info |
| `session undo` | Undo last operation |
| `session redo` | Redo last undone operation |
| `session save` | Save session state to disk |
| `session list` | List all saved sessions |

## State Management

- **Undo/Redo**: Up to 50 levels of undo history
- **Project persistence**: JSON `.openscreen` files
- **Session tracking**: auto-tracks modifications

## Output Formats

- Human-readable (default): Formatted key-value pairs
- Machine-readable (`--json`): Structured JSON output

## Editor Settings

| Setting | Type | Default | Description |
|---------|------|---------|-------------|
| `aspectRatio` | string | "16:9" | 16:9, 9:16, 1:1, 4:3, 4:5 |
| `wallpaper` | string | "gradient_dark" | Background preset |
| `padding` | int | 50 | 0-100, padding around video |
| `borderRadius` | int | 12 | Corner radius in pixels |
| `shadowIntensity` | float | 0 | 0-1, drop shadow strength |
| `motionBlurAmount` | float | 0 | 0-1, motion blur during zoom |
| `exportQuality` | string | "good" | medium, good, source |
| `exportFormat` | string | "mp4" | mp4, gif |

## For AI Agents

1. Always use `--json` for parseable output
2. Check return codes — 0 = success, non-zero = error
3. Parse stderr for error messages in non-JSON mode
4. Use absolute file paths
5. After `export render`, verify the output exists and probe it
6. Times are in **milliseconds** for all region commands
7. Coordinates (focus, crop, position) are **normalized 0-1**
8. Use `preview capture --json` to validate zoom, trim, annotation, and timing visually
9. Read returned bundle artifact paths from the JSON payload; images and clips live on disk
10. Use `cli-hub previews ...` only to inspect/open existing bundles

## Version

1.0.0

© HKUDS · Apache-2.0 · HKUDS/CLI-Anything

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set55

cli-anything-chromadb This skill hands your agent a ChromaDB command line: collections, documents and semantic search over HTTP API v2. Useful when the vector store sits next to your project. CX Codex +1 505installs cli-anything-videocaptioner Transcribes speech, translates subtitles into 38 languages, and burns captions into video using the VideoCaptioner backend. Useful when preparing video assets directly from the terminal. CX Codex +1 502installs cli-anything-musescore Skill wraps MuseScore 4's CLI for music notation work: transpose scores, export to PDF/MP3/MIDI, extract instrument parts, manage ensemble setup. CX Codex +1 500installs cli-anything-iterm2 Controls live iTerm2 sessions over the Python WebSocket API. Lets coding agents inspect running panes, send keystrokes, and split terminal layouts. CX Codex +1 495installs cli-anything-dify-workflow A skill that hands the agent commands for building, checking and editing Dify workflow YAML. Useful when a hand-written workflow breaks on import. CX Codex +1 493installs cli-anything-pm2 A skill that brings PM2 CLI into Claude Code for managing Node.js processes. Start, stop, restart applications and tail logs directly from the editor. CX Codex +1 491installs cli-anything-exa Connects the Exa neural search engine to your agent for deep web searches and page retrieval. Useful for gathering research papers, news, and company intelligence. CX Codex +1 491installs cli-anything-safari Controls real Safari on macOS via a Python Click CLI wrapping the safari-mcp server. Useful for running browser automations while preserving existing logins. CX Codex +1 483installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor