New to Claude Skills? Learn how to install them →

hkuds on GitHub

CLI for OBS Studio

Free

Manage OBS Studio scenes from the command line.

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

Free · Opens the source repo

What CLI for OBS Studio does

The CLI for OBS Studio provides a stateful command-line interface designed specifically for editing scene collections in OBS Studio. By following a similar pattern to the Blender CLI, this tool allows users to manage their OBS projects efficiently without needing to launch the OBS GUI. It utilizes a JSON format for scene collections, enabling seamless project persistence and easy sharing of configurations. The tool is particularly useful for developers and designers who prefer scripting or command-line operations over graphical interfaces.

Installation is straightforward via pip, requiring Python 3.10 or higher. Once installed, users can access a range of commands to create, open, save, and manage their OBS projects. The CLI supports both human-readable and machine-readable output formats, making it suitable for both manual use and integration with other tools or scripts. The interactive REPL mode enhances usability by allowing users to enter commands directly with tab-completion and command history, which can significantly speed up workflows.

With features such as undo/redo functionality, users can confidently make changes to their projects, knowing they can revert actions if needed. The CLI supports comprehensive project management, including scene and source management, audio configurations, and transition settings, making it a versatile tool for anyone working with OBS Studio. Whether you're setting up a live stream, recording content, or managing complex scene collections, this command-line interface provides the necessary tools to streamline your workflow.

When to use it

Use this tool when you need to manage OBS Studio scenes and sources programmatically or prefer command-line operations over graphical interfaces.

When not to use it

This is not suitable for users who are unfamiliar with command-line tools or prefer a visual interface for managing OBS projects.

What you can build with it

Automate Scene Management

Use the CLI to script the creation and management of OBS scenes for live streaming or recording.

Batch Edit Projects

Quickly create or modify multiple OBS projects using command-line commands instead of the GUI.

Integrate with Other Tools

Utilize the JSON output for programmatic access to OBS scene configurations in other applications.

How to install CLI for OBS Studio

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-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:

pip install cli-anything-obs_studio

Prerequisites:

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

Usage

Basic Commands

# 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:

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.

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.

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
# 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

Frequently asked questions about CLI for OBS Studio

Similar skills