New to Claude Skills? Learn how to install them →

hkuds on GitHub

CLI for Openscreen

Free

Edit screen recordings programmatically with ease.

by hkuds46.9k stars on hkuds/cli-anything
3 views
Updated Aug 3, 2026
Get this skill

Free · Opens the source repo

What CLI for Openscreen does

The CLI for Openscreen provides a powerful command-line interface designed specifically for editing screen recordings. This tool allows users to transform raw video captures into polished presentations through a series of commands that manage zoom effects, speed adjustments, trimming, cropping, and adding annotations. Built on the Openscreen JSON project format and leveraging ffmpeg for rendering, this skill is tailored for both AI agents and power users who require a programmatic approach to video editing.

With the CLI, users can create and manage projects, set video sources, and configure settings efficiently. The interactive REPL mode makes it easy to explore commands and get help on-the-fly. The command structure is organized into groups like project, zoom, speed, trim, crop, annotation, and export, allowing for intuitive navigation and operation. Each command group provides specific functionalities that streamline the editing process, making it accessible even for those who may not be familiar with traditional video editing software.

This skill is particularly beneficial for developers and designers who need to automate video editing tasks or integrate screen recording edits into larger workflows. The ability to manage session states with undo/redo functionality and to output results in both human-readable and machine-readable formats enhances the usability for scripting and automation. Whether you are creating tutorial videos, demo recordings, or any other type of screen capture, the CLI for Openscreen equips you with the necessary tools to produce high-quality results quickly and efficiently.

When to use it

Use this tool when you need to programmatically edit screen recordings, especially in automated workflows or when working with large amounts of video data.

When not to use it

This skill may not be suitable for users who prefer graphical user interfaces for video editing or those who require live preview capabilities during editing.

What you can build with it

Automating Tutorial Video Edits

Use the CLI to script the editing of tutorial videos, applying consistent zoom and speed effects across multiple recordings.

Creating Demo Videos for Presentations

Quickly edit screen recordings into polished demo videos with annotations and cropping to highlight key features.

Batch Processing Screen Recordings

Leverage the CLI to manage and edit multiple screen recordings in a single workflow, saving time on repetitive tasks.

How to install CLI for Openscreen

View source

1. Install with the skills CLI

npx skills add hkuds/cli-anything/skills --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by hkuds

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 infoShow 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 listList 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 listList 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 listList all trim regions
trim add --start MS --end MSCut out a section
trim remove <id>Remove trim region

crop

Set the visible area of the recording.

CommandDescription
crop getShow current crop region
crop set --x 0-1 --y 0-1 --width 0-1 --height 0-1Set crop (normalized)

annotation

Add text overlays to the recording.

CommandDescription
annotation listList 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 presetsList available export presets
export render <output_path>Render project to video file

preview

Capture truthful review bundles from the current Openscreen project.

CommandDescription
preview recipesList available preview recipes
preview capture --recipe quickRender 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:

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.

CommandDescription
session statusShow session info
session undoUndo last operation
session redoRedo last undone operation
session saveSave session state to disk
session listList 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
aspectRatiostring"16:9"16:9, 9:16, 1:1, 4:3, 4:5
wallpaperstring"gradient_dark"Background preset
paddingint500-100, padding around video
borderRadiusint12Corner radius in pixels
shadowIntensityfloat00-1, drop shadow strength
motionBlurAmountfloat00-1, motion blur during zoom
exportQualitystring"good"medium, good, source
exportFormatstring"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

Frequently asked questions about CLI for Openscreen

Similar skills