Back to Cli Anything

cli-anything-obs_studio

obs-studio/agent-harness/cli_anything/obs_studio/skills/SKILL.md

latest5.0 KB
Original Source

cli-anything-obs_studio

A stateful command-line interface for OBS Studio scene collection editing, following the same patterns as the Blender CLI harness. Uses a JSON scene collection format. No OBS installation required for editing.

Installation

This CLI is installed as part of the cli-anything-obs_studio package:

bash
pip install cli-anything-obs_studio

Prerequisites:

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

Usage

Basic Commands

bash
# Show help
cli-anything-obs_studio --help

# Start interactive REPL mode
cli-anything-obs_studio

# Create a new project
cli-anything-obs_studio project new -o project.json

# Run with JSON output (for agent consumption)
cli-anything-obs_studio --json project info -p project.json

REPL Mode

When invoked without a subcommand, the CLI enters an interactive REPL session:

bash
cli-anything-obs_studio
# Enter commands interactively with tab-completion and history

Command Groups

Project

Project management commands.

CommandDescription
newCreate a new OBS scene collection
openOpen an existing project
saveSave the current project
infoShow project information
jsonPrint raw project JSON

Scene Group

Scene management commands.

CommandDescription
addAdd a new scene
removeRemove a scene by index
duplicateDuplicate a scene
set-activeSet the active scene
listList all scenes

Source Group

Source management commands.

CommandDescription
addAdd a source to a scene
removeRemove a source by index
duplicateDuplicate a source
setSet a source property (name, visible, locked, opacity, rotation)
transformTransform a source (position, size, crop, rotation)
listList all sources in a scene

Filter Group

Filter management commands.

CommandDescription
addAdd a filter to a source
removeRemove a filter from a source
setSet a filter parameter
listList all filters on a source
list-availableList all available filter types

Audio Group

Audio management commands.

CommandDescription
addAdd a global audio source
removeRemove a global audio source
volumeSet volume for an audio source (0.0-3.0)
muteMute an audio source
unmuteUnmute an audio source
monitorSet audio monitoring type
listList all audio sources

Transition Group

Transition management commands.

CommandDescription
addAdd a transition
removeRemove a transition
set-activeSet the active transition
durationSet transition duration in milliseconds
listList all transitions

Output Group

Output/streaming/recording configuration.

CommandDescription
streamingConfigure streaming settings
recordingConfigure recording settings
settingsConfigure output settings
infoShow current output configuration
presetsList available encoding presets

Session

Session management commands.

CommandDescription
statusShow session status
undoUndo the last operation
redoRedo the last undone operation
historyShow undo history

Examples

Create a New Project

Create a new obs_studio project file.

bash
cli-anything-obs_studio project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-obs_studio --json project new -o myproject.json

Interactive REPL Session

Start an interactive session with undo/redo support.

bash
cli-anything-obs_studio
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation

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 (--json flag): Structured JSON for agent consumption
bash
# Human output
cli-anything-obs_studio project info -p project.json

# JSON output for agents
cli-anything-obs_studio --json project info -p project.json

For AI Agents

When using this CLI programmatically:

  1. Always use --json flag for parseable output
  2. Check return codes - 0 for success, non-zero for errors
  3. Parse stderr for error messages on failure
  4. Use absolute paths for all file operations
  5. 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