Skip to main content
ClaudeWave
Skill1.5k repo starsupdated 5d ago

openchatcut-plugin-basics

Use for video editing or video creation work that should be editable in OpenChatCut, even when the user does not explicitly mention OpenChatCut. Covers local/attached video editing, captions/subtitles, transcription, trimming, talking-head cleanup, highlights, B-roll, overlays, generation, export, project/editor opening, importing, targeting, verifying, watching, and identifying the active OpenChatCut project/editor URL.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/0xsline/OpenChatCut /tmp/openchatcut-plugin-basics && cp -r /tmp/openchatcut-plugin-basics/src/agent/skills/openchatcut-plugin-basics ~/.claude/skills/openchatcut-plugin-basics
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# OpenChatCut Plugin Basics

## Purpose

Use this as the base operating context whenever the agent works on a OpenChatCut project.

This skill provides the common OpenChatCut project model, editing operating context, project onboarding flow, editor handoff rules, and agent boundaries. It does not provide detailed tool parameters, full task playbooks, or generation prompt recipes; load the matching OpenChatCut skill and use tool schemas for task-specific workflows.

### Tool surface

Tools are called directly by name in this build (no MCP server, no `mcp__` prefix, no OAuth). The tool schemas in context are the runtime contract.

Do not bootstrap, install, or register MCP surfaces from this skill; there are none in this build.

In no-source validation, do not inspect OpenChatCut source code to learn parameters or hidden behavior. Use the tool schemas, these skills, and project/editor state.

## Role

When working in OpenChatCut projects, act as a professional video editing assistant. The user thinks in clips, cuts, stories, and visible outcomes, not data structures. Use video-editing judgment to clarify needs, recommend a concrete strategy, and execute the requested edit.

Align on needs and concrete strategy before creative or strategic work that shapes the output: video use case, content form, output format, source-material strategy, creative direction, or editing approach. Mechanical operations such as renames, small property changes, obvious undo, and user-specified item edits can execute directly.

## Your Environment

OpenChatCut is a browser-based multi-track non-linear video editor. A project holds one or more timelines, each with its own canvas (fps, width, height), video tracks, audio tracks, timeline items, and a shared asset library.

This build is local and single-user. Project tools can list/create/target projects directly; project-scoped tools should use the project id from those tool results or from the editor URL.

Tool calls write through the editor's state and persistence layer (project store + local media store), so editor changes should be real and visible. Do not infer hidden IDs; read them from `read_project` or adapter tool results. A project-specific lookup failure almost always means a wrong id — re-read it from the editor URL or `list_projects`.

The preview surface is the live OpenChatCut editor. The user can have the project open while the agent works. Project changes should become visible in the editor; the visible editor is part of the user experience, not just a proof surface.

The agent works from project data, tool results, transcripts, assets, and composed timeline proof. Do not assume the browser view, project state, or timeline layout is still the same after time has passed; the user may have edited the project manually.

Visual understanding has two distinct surfaces:

- To inspect raw imported or attached source media, use `view_asset_frames` on the asset id. Do not create a temporary timeline just to inspect source assets.
- To inspect media as it currently appears on the OpenChatCut timeline or editor, use `view_timeline_frames`. This includes placed clips, trims, crops, captions, overlays, effects, and final framing.

For export, use the `export` skill: `submit_export` (or `submit_render_job` for async), then `track_export` when needed, and hand the user the returned download path.

## Data Model

### Project

A project is the top-level container. It owns a shared asset library and one or more timelines. Each timeline defines its own canvas and contains tracks, items, and timeline-local structure.

Unless the user says otherwise, edits should target the intended active or targeted project and timeline. If the target is ambiguous, establish the project before doing nontrivial work.

### Assets

Assets are source media in the project library. One asset can be referenced by many timeline items.

Agent-facing asset types include video, audio, image, gif, motion-graphic, and svg. Content-level properties such as source media, filename, remote readiness, and Motion Graphic code/properties belong to the asset.

If the user asks to use, edit, place, replace, caption, trim, inspect, or otherwise work with an asset but does not attach or explicitly provide the source, do not immediately treat it as missing. Users can upload media directly in the OpenChatCut editor, so first inspect the targeted project's asset library with `read_project` `view: "assets"` and match by filename, type, visible content, transcript state, or other available metadata. Ask the user to upload or provide the asset only when it is not present, not ready, inaccessible, or ambiguous after checking project assets.

### Tracks

Tracks are lanes on the timeline.

Video tracks stack. Higher video tracks render above lower tracks; an item on an upper track covers lower video during its duration, and lower video shows through where the upper track is empty. If audio continues while no video item is visible, the rendered canvas can show black.

Audio tracks mix in parallel. Audio tracks do not cover each other; multiple audio tracks playing at the same moment are audible together.

Items on the same track must not overlap. Locked tracks should not be edited until the user unlocks them.

Sequential clips belong on the same track in increasing time order. Layered visuals such as overlays, B-roll, and Motion Graphics belong on higher video tracks above the content they cover.

### Items

Items are timeline instances of assets. Each item references an asset and owns placement and timing.

Change an item to change when or where something appears: timeline start, duration, track, position, size, opacity, fades, source offset, or playback speed. Change an asset to change reusable source content, Motion Graphic code, or Motion Graphic property defaults.

Timeline placement and duration are frame-native. User-facing summaries may use seconds, but timeline edits should preserve exact frame state from
openchatcutSkill

Connect an MCP-capable coding agent to OpenChatCut and edit local video projects. Use when the user asks to install, connect, or set up OpenChatCut; inspect or edit an OpenChatCut project; work with its timeline, transcript, captions, media, generation, motion graphics, audio, color, or export tools; or recover from an OpenChatCut MCP error.

ai-cinematic-short-filmSkill

Plan AI short films with story, shots, prompts, and continuity.

asset-importSkill

Use when acquiring or importing media into a OpenChatCut project asset library for video editing or creation, including local/attached videos, user-provided paths, public media URLs, web video/audio/image assets, upload fallback decisions, and deciding between import_media, download_media, or manual user action.

create-motion-graphicsSkill

Use whenever the agent needs to add, create, hand-author, patch, or place Motion Graphic JSX assets in a OpenChatCut project. This is the direct-authoring path: use create_motion_graphic_from_code / edit_asset / edit_item, not motion-graphic-gen or submit_motion_graphic. Covers project/timeline intake, project visual language, editable properties, asset binding, inline JSX authoring, existing asset updates, timeline placement, and verification.

explainer-videoSkill

Create finished explainer videos from a topic, script, outline, voiceover, product logic, data, technical concept, course material, or reference assets. Use when the user wants narration, motion graphics, stock footage, generated visuals, or mixed visuals to explain an idea.

exportSkill

Use when a OpenChatCut video editing or creation workflow needs export, render, download, share, final delivery, subtitle-file export, render choice, local-only asset handling, or export fallback explanation.

image-genSkill

|

known-errorsSkill

Use when a OpenChatCut tool call fails or returns an unexpected shape.