
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...
- Installs
- 508
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-shotcut- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads cli-anything-shotcut automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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+
melt(MLT CLI) — required for rendering and playbackffmpeg/ffprobe— required for media probingshotcutmust 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 with undo/redo support:
cli-anything-shotcut
# or with a project:
cli-anything-shotcut --project my_project.mlt
REPL Commands
Workflow: Always media import first to get a clip_id, then use add-clip to place it on the timeline.
Project & Session:
new [profile]— Create new project (default:hd1080p30)open <path>— Open.mltfilesave [path]— Save projectinfo— Show project infoxml— Print raw MLT XMLstatus— Show session statusundo/redo— Navigate operation history
Media (two-step model):
media import <file> [--caption name]— Import file into project bin, returnsclip_id(e.g.,clip0)media— List all imported mediaprobe <file>— Analyze a media file
Timeline:
add-track <video|audio> [name]— Add a tracktracks— List all tracksshow— Visual timeline overviewadd-clip <clip_id> <track> [in] [out] [--at time]— Place imported clip on trackclips <track>— List clips on a trackremove-clip <track> <clip>— Remove a cliptrim <track> <clip> [--in tc] [--out tc]— Trim clipsplit <track> <clip> <at>— Split clip at timecode
Filters:
list-filters [video|audio]— Browse available filtersfilter-info <name>— Show filter detailsadd-filter <name> [--track n] [--clip n] [key=val ...]— Add filter to clip, track, or globalfilters [--track n] [--clip n]— List active filtersremove-filter <idx> [--track n] [--clip n]— Remove filter by indexset-filter <idx> <param> <value> [--track n] [--clip n]— Set filter parametervolume-envelope [--track n] [--clip n] TIME=LEVEL ...— Keyframed volume (e.g.,00:00:00.000=1.0 00:00:03.000=0.35)duck [--track n] [--clip n] START..END ...— Ducking envelope (e.g.,00:00:06.000..00:00:09.000)
Export:
presets— List export presetsrender <output> [--preset name]— Render to video file
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 an imported clip to a track by clip_id; supports --at for absolute placement |
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 |
volume-envelope | Create or replace a keyframed volume envelope on a track or clip |
duck | Build a practical ducking envelope over one or more time windows |
Media
Media operations: probe, list, check files.
| Command | Description |
|---|---|
import | Import a media file into the project bin |
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 |
Preview
Preview bundles and live preview sessions for iterative editing review.
| Command | Description |
|---|---|
preview recipes | List preview recipes |
preview capture | Render a low-res preview bundle |
preview latest | Return the latest existing bundle |
preview live start | Start a live preview session and publish the first bundle |
preview live push | Publish a new bundle into the live session |
preview live status | Query current live-session state without rendering |
preview live stop | Stop the live session without deleting artifacts |
Typical quick bundle contents:
preview.mp4- several sampled frames
- midpoint
hero.png summary.jsonwith project facts
Poll mode is supported:
cli-anything-shotcut --json --project edit.mlt preview live start --recipe quick --mode poll --source-poll-ms 500
preview live status --json includes session refs and a compact
trajectory_summary so agents can cheaply understand the latest few publishes.
Viewer commands:
cli-hub previews inspect /path/to/bundle-or-session
cli-hub previews html /path/to/bundle-or-session -o page.html
cli-hub previews watch /path/to/session --open
cli-hub previews open /path/to/bundle-or-session
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.mp4 --overwrite
Deterministic Timeline Reconstruction
For rebuilds, prefer absolute placement over append-only clip insertion:
cli-anything-shotcut --project myproject.mlt media import intro.mp4
cli-anything-shotcut --project myproject.mlt timeline add-clip clip0 \
--track 1 --in 00:00:00.000 --out 00:00:04.000 --at 00:00:00.000
cli-anything-shotcut --project myproject.mlt media import broll.mp4
cli-anything-shotcut --project myproject.mlt timeline add-clip clip1 \
--track 1 --in 00:00:10.000 --out 00:00:16.000 --at 00:00:08.000
--atinserts blanks automatically when the target time lands in empty space.- The CLI rejects overlap with an existing clip.
- Prefer explicit
--inand--outvalues so later absolute placement remains unambiguous.
Audio Automation
cli-anything-shotcut --project myproject.mlt filter volume-envelope \
--track 2 \
--point 00:00:00.000=1.0 \
--point 00:00:03.000=0.35 \
--point 00:00:05.000=1.0
cli-anything-shotcut --project myproject.mlt filter duck \
--track 2 \
--window 00:00:06.000..00:00:09.000 \
--window 00:00:15.000..00:00:18.000 \
--normal 1.0 --duck 0.25
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
- Prefer
timeline add-clip --atwhen recreating a known edit - Review final renders after keyframed volume or ducking changes
- Use
preview captureorpreview live ...to validate pacing, cuts, and filter effects visually - Read returned artifact paths such as
hero.pngandpreview.mp4; JSON payloads reference files on disk - Use
preview live status --jsonbefore reading the fulltrajectory.json - Use
cli-hub previews ...only to inspect/open existing bundles or live sessions
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
FAQ
What does the cli-anything-shotcut skill do?
Command-line interface for Shotcut - A stateful command-line interface for video editing, built on the MLT XML format. Designed for AI ag...
How do I install cli-anything-shotcut?
Run npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-shotcut in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/cli-anything-shotcut/ (personal) or .claude/skills/cli-anything-shotcut/ (project).
Which AI agents can use cli-anything-shotcut?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is cli-anything-shotcut safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains cli-anything-shotcut?
It is published by hkuds in hkuds/cli-anything. It has 508 recorded installs.
More from hkuds/cli-anything
cli-hub-meta-skill
hkuds/cli-anything
Discover agent-native CLIs for professional software. Access the live catalog to find tools for creative workflows, productivity, AI, and more.
cli-anything
hkuds/cli-anything
Use when the user wants Codex to build, refine, test, validate, or list CLI-Anything harnesses for GUI applications or source repositories. Adapts the full CLI-Anything methodology to Codex without changing the generated Python harness format.
cli-anything-blender
hkuds/cli-anything
Command-line interface for Blender - A stateful command-line interface for 3D scene editing, following the same patterns as the GIMP CLI ...
cli-anything-obsidian
hkuds/cli-anything
Command-line interface for Obsidian — Knowledge management and note-taking via Obsidian Local REST API. Designed for AI agents and power users who need to manage notes, search the vault, and execute commands without the GUI.
cli-anything-notebooklm
hkuds/cli-anything
Experimental NotebookLM harness for listing notebooks, managing sources, asking questions, generating artifacts, and downloading outputs through an installed notebooklm CLI.
cli-anything-libreoffice
hkuds/cli-anything
Command-line interface for Libreoffice - A stateful command-line interface for document editing, producing real ODF files (ZIP archives with ...
Popular media & creative skills
hyperframes
heygen-com/hyperframes
Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.
media-use
heygen-com/hyperframes
Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.
hyperframes-registry
heygen-com/hyperframes
About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.
hyperframes-creative
heygen-com/hyperframes
Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.
ai-video-generation
101-skills/superpowers
Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse
ai-image-generation
101-skills/superpowers
Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image