CLI-Anything cli-anything-openscreen

install
source · Clone the upstream repo
git clone https://github.com/HKUDS/CLI-Anything
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HKUDS/CLI-Anything "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cli-anything-openscreen" ~/.claude/skills/hkuds-cli-anything-cli-anything-openscreen && rm -rf "$T"
manifest: skills/cli-anything-openscreen/SKILL.md
source content

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

pip install cli-anything-openscreen

Prerequisites:

  • Python 3.10+
  • ffmpeg must be installed on your system

Usage

Basic Commands

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.

CommandDescription
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.

CommandDescription
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.

CommandDescription
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.

CommandDescription
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.

CommandDescription
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.

CommandDescription
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.

CommandDescription
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.

CommandDescription
export presets
List available export presets
export render <output_path>
Render project to video file

session

Manage session state with undo/redo.

CommandDescription
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

SettingTypeDefaultDescription
aspectRatio
string"16:9"16:9, 9:16, 1:1, 4:3, 4:5
wallpaper
string"gradient_dark"Background preset
padding
int500-100, padding around video
borderRadius
int12Corner radius in pixels
shadowIntensity
float00-1, drop shadow strength
motionBlurAmount
float00-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

Version

1.0.0