Communitygithub.com

0xsline/openchatcut

Wird verwendet, um zu prüfen, ob Agenten-Änderungen im OpenChatCut-Projekt und -Editor reflektiert werden.

Was ist openchatcut?

Diese Fähigkeit (`0xsline/openchatcut`) ist für KI-Agenten bestimmt, die mit dem OpenChatCut-Videoeditor interagieren. Sie beschreibt einen detaillierten Verifikationsprozess, um sicherzustellen, dass vom Agenten vorgenommene Bearbeitungen korrekt im Projekt und in der gerenderten Ausgabe wiedergegeben werden. Der Prozess definiert drei Überprüfungsstufen (L0, L1, L2), von statischen Code-Checks bis hin zu vollständigen Desktop-App-Tests mit menschlicher Sichtprüfung. Die Fähigkeit legt zwei Hauptsignale für die Verifikation fest: `read_project` für die Projektstruktur und visuelle Snapshots (`view_timeline_frames`, `view_asset_frames`) für den gerenderten Beweis. Sie unterscheidet klar zwischen der Überprüfung der zusammengesetzten Timeline (die Wahrheitsquelle des Editors) und der Inspektion einzelner Rohmaterial-Frames. Die Fähigkeit beinhaltet auch eine rigorose Checkliste zur Überprüfung des Agent-Transkripts, um sicherzustellen, dass Tool-Aufrufe korrekt protokolliert wurden und keine versteckten Fehler vorliegen. Sie ist nützlich für Entwickler, die automatisierte Workflows mit OpenChatCut erstellen oder Agenten bauen, die Videoinhalte programmatisch bearbeiten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/0xsline/openchatcut/tree/HEAD/src/agent/skills/verification

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Verifikation

Verwende die niedrigste Verifikationsstufe, die das angeforderte Ergebnis beweist:

StufeErforderlicher Nachweis
L0Statische Prüfungen wie das fokussierte Verifikationsskript, npx tsc --noEmit, Tests und Build.
L1Ein echter Agenten-Lauf gegen den Editor unter localhost:5199, gefolgt von strukturellen und gerenderten Beweisen.
L2Die verpackte Desktop-App, die das Benutzerszenario abschließt, einschließlich menschlicher Sichtprüfung, wo Automatisierung unzureichend ist.

Änderungen des Laufzeitverhaltens erfordern L0 + L1. Release- und Desktop-spezifische Änderungen erfordern ebenfalls L2, wenn die verpackte App das zu testende Verhalten ist.

Bevorzuge zwei Signale:

  1. read_project für die Struktur: Assets, Tracks, Items, Frame-Platzierung, Timeline-Dauer.
  2. Ein visueller Erfassungspfad für gerenderte Beweise zu exakten Frames.

Verwende view_timeline_frames für den Beweis der zusammengesetzten Timeline. Dies verifiziert die bearbeitete OpenChatCut-Timeline: Trims, Ebenen, Untertitel, Effekte, Marker, Platzhalter, Zuschnitte, Überblendungen und Layout.

Für die Inspektion von Rohmaterial-Frames wähle den günstigsten Pfad basierend darauf, wo die Bytes leben:

  • Der Agent in diesem Build hat keinen lokalen Dateisystemzugriff; alle Quell-Bytes leben im Medien-Store des Projekts (/media/uploads/). Verwende view_asset_frames mit der Projekt-Asset-ID – der Server nimmt automatisch einen schnellen ffmpeg-Kontaktbogen-Pfad, daher ist dies bereits der günstigste Pfad für Quell-Frames.
  • view_timeline_frames rendert die zusammengesetzte Timeline (die Editor-Wahrheitsprüfung); view_asset_frames sampelt rohe Quell-Frames. Wähle basierend darauf, was du überprüfst.
  • Es gibt kein separates get_contact_sheet-Tool in diesem Build – der Kontaktbogen ist das, was view_asset_frames / view_timeline_frames bereits zurückgeben.

Verwende lokale/Remote-Quell-Frame-Artefakte nur zum Verständnis der Quelle, zur Momentauswahl und für grobe Trim-Entscheidungen, nicht als bearbeitete Ausgabe oder Timeline-Beweis.

Für lokale oder gerade hochgeladene Medien kann der Beweis der zusammengesetzten Timeline blockiert sein, bis das Asset dem Renderer Bytes zur Verfügung stellt. Die Quell-Frame-Inspektion via view_asset_frames funktioniert weiterhin, solange die Bytes des Assets auf der Festplatte sind (/media/uploads/).

Wenn beide visuellen Beweispfade blockiert sind, bitte den Benutzer, den OpenChatCut-Editor direkt zu inspizieren und den Blockierer explizit zu notieren.

Nützliche Prüfungen:

  • Nach dem Import: read_project({ "view": "assets", "assetId": "<prefix>" })
  • Nach Verschieben/Trimmen: read_project({ "view": "timeline" })
  • Nach visueller Überlagerung oder MG auf einem Timeline-Medium: view_timeline_frames({ "frames": [30, 45, 75] }), dann überprüfe die zurückgegebenen Frames.
  • Für benutzeranfrage zur Quellauswahl oder visuellen Momentauswahl: sample Standbilder mit view_asset_frames und inspiziere sie. Verwende dies nur, um Quelldateien, Momente und grobe Trims auszuwählen. Baue die sichtbare Bearbeitung als OpenChatCut-Timeline-Elemente. Behandle die Rohquell-Inspektion nicht als Timeline-Verifikation oder als Erlaubnis, das bearbeitete Video woanders zu produzieren.
  • Für die Quell-Frame-Inspektion: rufe view_asset_frames({"assetId":"...","sourceTimesMs":[...]}) auf, nachdem read_project({"view":"assets"}) die Asset-ID / den Typ bestätigt hat. Bevorzuge dies, anstatt den Benutzer zu bitten, die Datei erneut anzuhängen.
  • Für die lokale visuelle Verifikation: lade/registriere cloud-lesbare Medien, bevor du dich auf den visuellen Beweis des Konnektors verlässt.
  • Für die Validierung ohne Quelle: bestätige, dass das Tool-Manifest die von dir verwendeten Parameter offengelegt hat, und protokolliere dann den sichtbaren Beweis im Trace-Log.

Wenn du über Sekunden sprichst, überprüfe die fps aus read_project oder verwende Adapter-Tools, die fps intern auflösen.

Wenn du über einen Timeline-Element-Ort berichtest, verwende nur die neueste read_project-Struktur für Track-Alias, Element-ID, Start, Dauer und Asset-ID. Berichte nicht über geplante/Standard-Tracks oder die Tool-Call-Absicht als verifizierte Platzierung.

Behandle eine JSON-Antwort der Befehlszeile allein nicht als ausreichend, wenn der Benutzer fragt, ob der Editor das Ergebnis widerspiegelt. Verwende bei Möglichkeit die Editor-URL oder den visuellen Beweis.

Überprüfung des echten Agent-Transkripts

Nach jedem L1-Agenten-Lauf überprüfe den vollständigen Chat-Verlauf, bevor du den Erfolg meldest:

  1. Lies die letzte Assistentenantwort und jede Tool-Zeile, die durch den Lauf erstellt wurde.
  2. Erweitere fehlgeschlagene oder warnende Zeilen und protokolliere den genauen Fehler.
  3. Überprüfe auf abgebrochene Runden, wiederholte Wiederholungen, veraltete Vorschläge, unvollständige Jobs und Tool-Ergebnisse, die die letzte Antwort fälschlicherweise als erfolgreich beschreibt.
  4. Vergleiche das letzte read_project-Ergebnis mit der sichtbaren Timeline.
  5. Für visuelle Bearbeitungen inspiziere zurückgegebene Timeline-Frames, anstatt der Zusammenfassung des Assistenten zu vertrauen.

Ein Lauf mit einer korrekt aussehenden Timeline, aber einem nicht gemeldeten Tool-Fehler, ist kein sauberer Durchlauf. Behebe die Ursache oder melde den verbleibenden Fehler explizit.

Wenn die Verifikation fehlschlägt, klassifiziere die Lücke, bevor du die Tools wechselst:

  • Tool-Beschreibung oder Schema war unzureichend
  • Skill-Anweisungen haben einen Schritt vermisst
  • read_project hat nicht genügend Zustand offengelegt
  • Editor-Autorisierung wurde nicht abgeschlossen
  • Medien-/Transkriptions-Pipeline ist fehlgeschlagen
  • Cloud-Rendering/Editor-Beobachtung wurde blockiert

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

0xsline/openchatcut

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.

0xsline/openchatcut

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.

0xsline/openchatcut

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.

0xsline/openchatcut

AI image generation via Fal.ai, gpt-image-2, nano-banana, MiniMax image-01, and xAI Grok Imagine. Use when the user wants to generate or create an image / picture / still.

0xsline/openchatcut

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

0xsline/openchatcut

Music generation via Mureka, MiniMax, Atlas Cloud, and Sonilo. Use for instrumentals, songs, soundtracks, track/stem generation, covers, or video-conditioned scoring of the finished cut through `submit_music`.

0xsline/openchatcut

OpenChatCut product knowledge — UI layout, editor features, and how generation providers are configured. Use when the user asks about the product interface, how to use a feature, where to find something, or needs GUI guidance for something the agent cannot do directly. Also use as fallback when a task fails and the user needs to complete it manually in the UI. NOT for live project-state queries ("where are my folders?", "what's on my timeline?", "where is clip X?") — those are answered by `read_project`, not by this skill.

0xsline/openchatcut

AI shader generator for WebGL video effects, transitions, masks, and color grading (LUT / 调色 / 电影感 / film look). Use when the user wants a video effect (滤镜 / 特效), a transition (转场 / crossfade / wipe / cube / 3d), a mask (蒙版 / 遮罩 / reveal), a zoom / push-in (推近 / 推镜头), or a color grade — try the built-in effects (zoom, builtin LUTs) before generating a new shader.

0xsline/openchatcut

AI video generation via Fal.ai, Seedance 2.0, Kling, MiniMax Hailuo, xAI Grok Imagine, and OFox. Use when the user wants to generate a video clip — text-to-video, image-to-video, first/last-frame transitions, reference-guided generation, multi-shot, or generatively editing / extending an existing clip.

0xsline/openchatcut

Text-to-Speech (TTS), voiceover, narration placement/sync, and custom sound effects (SFX) generator. Use when the user wants generated speech from text, wants to add/replace/align narration or voiceover for an existing video/timeline, wants to keep existing voiceover synced after visual retiming edits, needs voice audition/selection, or explicitly wants a newly generated/custom sound effect that is not available in the Sound Effects library.

0xsline/openchatcut

Use when the agent should ask the user for structured input with an in-chat form, including single-select, multi-select, text fields, style pickers, or voice audition choices.

Verwandte Skills