Agent skill
cli-anything-shotcut
Command-line interface for Shotcut - A stateful command-line interface for video editing, built on the MLT XML format. Designed for AI ag...
Install this agent skill to your Project
npx add-skill https://github.com/HKUDS/CLI-Anything/tree/main/shotcut/agent-harness/cli_anything/shotcut/skills
SKILL.md
cli-anything-shotcut
A stateful command-line interface for video editing, built on the MLT XML format. Designed for AI agents and power users who need to create and edit Shotcut projects without a GUI.
Installation
This CLI is installed as part of the cli-anything-shotcut package:
pip install cli-anything-shotcut
Prerequisites:
- Python 3.10+
- shotcut must be installed on your system
Usage
Basic Commands
# Show help
cli-anything-shotcut --help
# Start interactive REPL mode
cli-anything-shotcut
# Create a new project
cli-anything-shotcut project new -o project.json
# Run with JSON output (for agent consumption)
cli-anything-shotcut --json project info -p project.json
REPL Mode
When invoked without a subcommand, the CLI enters an interactive REPL session:
cli-anything-shotcut
# Enter commands interactively with tab-completion and history
Command Groups
Project
Project management: new, open, save, info.
| Command | Description |
|---|---|
new |
Create a new blank project |
open |
Open an existing .mlt project file |
save |
Save the current project |
info |
Show detailed project information |
profiles |
List available video profiles |
xml |
Print the raw MLT XML of the current project |
Timeline
Timeline operations: tracks, clips, trimming.
| Command | Description |
|---|---|
show |
Show the timeline overview |
tracks |
List all tracks |
add-track |
Add a new track to the timeline |
remove-track |
Remove a track by index |
add-clip |
Add a media clip to a track |
remove-clip |
Remove a clip from a track |
move-clip |
Move a clip between tracks or positions |
trim |
Trim a clip's in/out points |
split |
Split a clip into two at the given timecode |
clips |
List all clips on a track |
add-blank |
Add a blank gap to a track |
set-name |
Set a track's display name |
mute |
Mute or unmute a track |
hide |
Hide or unhide a video track |
Filter Group
Filter operations: add, remove, configure effects.
| Command | Description |
|---|---|
list-available |
List all available filters |
info |
Show detailed info about a filter and its parameters |
add |
Add a filter to a clip, track, or globally |
remove |
Remove a filter by index |
set |
Set a parameter on a filter |
list |
List active filters on a target |
Media
Media operations: probe, list, check files.
| Command | Description |
|---|---|
probe |
Analyze a media file's properties |
list |
List all media clips in the current project |
check |
Check all media files for existence |
thumbnail |
Generate a thumbnail from a video file |
Export
Export/render operations.
| Command | Description |
|---|---|
presets |
List available export presets |
preset-info |
Show details of an export preset |
render |
Render the project to a video file |
Transition Group
Transition operations: dissolve, wipe, and other transitions.
| Command | Description |
|---|---|
list-available |
List all available transition types |
info |
Show detailed info about a transition type |
add |
Add a transition between two tracks |
remove |
Remove a transition by index |
set |
Set a parameter on a transition |
list |
List all transitions on the timeline |
Composite Group
Compositing: blend modes, PIP, opacity.
| Command | Description |
|---|---|
blend-modes |
List all available blend modes |
set-blend |
Set the blend mode for a track |
get-blend |
Get the current blend mode for a track |
set-opacity |
Set the opacity of a track (0.0-1.0) |
pip |
Set picture-in-picture position for a clip |
Session
Session management: status, undo, redo.
| Command | Description |
|---|---|
status |
Show current session status |
undo |
Undo the last operation |
redo |
Redo the last undone operation |
save |
Save session state to disk |
list |
List all saved sessions |
Examples
Create a New Project
Create a new shotcut project file.
cli-anything-shotcut project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-shotcut --json project new -o myproject.json
Interactive REPL Session
Start an interactive session with undo/redo support.
cli-anything-shotcut
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
Export Project
Export the project to a final output format.
cli-anything-shotcut --project myproject.json export render output.pdf --overwrite
State Management
The CLI maintains session state with:
- Undo/Redo: Up to 50 levels of history
- Project persistence: Save/load project state as JSON
- Session tracking: Track modifications and changes
Output Formats
All commands support dual output modes:
- Human-readable (default): Tables, colors, formatted text
- Machine-readable (
--jsonflag): Structured JSON for agent consumption
# Human output
cli-anything-shotcut project info -p project.json
# JSON output for agents
cli-anything-shotcut --json project info -p project.json
For AI Agents
When using this CLI programmatically:
- Always use
--jsonflag for parseable output - Check return codes - 0 for success, non-zero for errors
- Parse stderr for error messages on failure
- Use absolute paths for all file operations
- Verify outputs exist after export operations
More Information
- Full documentation: See README.md in the package
- Test coverage: See TEST.md in the package
- Methodology: See HARNESS.md in the cli-anything-plugin
Version
1.0.0
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
cli-anything-sts2
Command-line interface for Slay the Spire 2 - Control the real game through a local bridge mod HTTP API. Reads normalized game state and sends action commands for combat, navigation, rewards, and menu management.
musescore
CLI for music notation — transpose, export PDF/audio/MIDI, extract parts, manage instruments
cli-anything-videocaptioner
AI-powered video captioning — transcribe speech, optimize/translate subtitles, burn into video with beautiful customizable styles (ASS outline or rounded background). Free ASR and translation included.
cli-anything-openscreen
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-adguardhome
Command-line interface for AdGuard Home - Network-wide ad blocking and DNS management via AdGuard Home REST API. Designed for AI agents and power users who need to manage filtering, DNS rewrites, clients, DHCP, and query logs without a GUI.
cli-anything-intelwatch
Zero friction. Full context. Competitive intelligence, M&A due diligence, and OSINT directly from your terminal. Uses Node.js/npx.
Didn't find tool you were looking for?