Communitygithub.com

0xsline/openchatcut

エージェントの編集内容がOpenChatCutプロジェクトとエディタに反映されているかを確認する際に使用します。

openchatcut とは?

このスキルは、AIエージェントがOpenChatCutプロジェクトおよびエディタに対して行った編集が正しく反映されているかを検証するためのガイドラインを提供します。検証には複数のレベル(L0〜L2)が定義されており、変更の種類(ランタイム動作、リリース、デスクトップアプリなど)に応じて適切なレベルの検証を組み合わせることが推奨されています。具体的には、静的チェック(L0)、実エージェントによるエディタ実行(L1)、パッケージ版アプリによるシナリオ検証(L2)が含まれます。また、プロジェクト構造の確認には `read_project`、視覚的なタイムライン検証には `view_timeline_frames` や `view_asset_frames` といったツールを使用します。各ツールの使い分けや、検証失敗時の対処方法についても詳細に説明されています。このスキルは主にOpenChatCutの開発・編集プロセスにおいて、エージェントの動作を信頼性高く確認したい開発者やテスターを対象としています。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

検証

要求された結果を証明するには、最小の検証レベルを使用してください:

レベル必要なエビデンス
L0フォーカスされた検証スクリプト、npx tsc --noEmit、テスト、ビルドなどの静的チェック。
L1localhost:5199 のエディタに対する実際のエージェント実行、その後の構造的およびレンダリングされたエビデンス。
L2ユーザーシナリオを完了するパッケージ化されたデスクトップアプリ。自動化が不十分な場合は人間による視覚レビューを含む。

ランタイム動作の変更には L0 + L1 が必要です。リリースおよびデスクトップのみの変更では、パッケージ化されたアプリがテスト対象の動作である場合に L2 も必要です。

以下の2つのシグナルを優先してください:

  1. 構造確認のための read_project:アセット、トラック、アイテム、フレーム配置、タイムライン期間。
  2. レンダリングされたエビデンスのための正確なフレームでの視覚キャプチャパス。

合成されたタイムラインの証明には view_timeline_frames を使用します。これにより、編集されたOpenChatCutタイムライン(トリミング、レイヤー、キャプション、エフェクト、マーカー、プレースホルダー、クロップ、トランジション、レイアウト)を検証します。

生のソースアセットフレーム検査の場合は、バイトが存在する場所に基づいて最もコストの低いパスを選択してください:

  • このビルドのエージェントはローカルファイルシステムにアクセスできません。すべてのソースバイトはプロジェクトのメディアストア(/media/uploads/)にあります。プロジェクトアセットIDを指定して view_asset_frames を使用してください。サーバーは自動的にffmpegコンタクトシートの高速パスを取るため、これがすでに最もコストの低いソースフレームルートです。
  • view_timeline_frames は合成されたタイムラインをレンダリングします(エディタの真実確認)。view_asset_frames は生のソースフレームをサンプリングします。検証内容に応じて使い分けてください。
  • このビルドには別の get_contact_sheet ツールはありません。コンタクトシートは view_asset_frames / view_timeline_frames がすでに返すものです。

ローカル/リモートのソースフレームアーティファクトは、ソースの理解、瞬間の選択、大まかなトリミングの決定にのみ使用し、編集された出力やタイムラインの証明としては使用しないでください。

ローカル専用またはアップロード中のメディアの場合、アセットがレンダラーにバイトを利用可能にするまで、合成されたタイムラインの証明がブロックされる可能性があります。view_asset_frames を介したソースフレーム検査は、アセットのバイトがディスク(/media/uploads/)にあれば引き続き機能します。

両方の視覚的証明パスがブロックされている場合は、ユーザーにOpenChatCutエディタを直接確認するよう依頼し、ブロッカーを明示的に記録してください。

有用なチェック:

  • インポート後:read_project({ "view": "assets", "assetId": "<prefix>" })
  • 移動/トリミング後:read_project({ "view": "timeline" })
  • タイムラインメディアへの視覚的オーバーレイまたはMG後:view_timeline_frames({ "frames": [30, 45, 75] })、そして返されたフレームを確認します。
  • ユーザー要求によるソース選択または視覚的瞬間の選択の場合:view_asset_frames で静止画をサンプリングして検査します。これはソースファイル、瞬間、大まかなトリミングを選択するためだけに使用します。可視の編集をOpenChatCutタイムラインアイテムとして構築します。生のソース検査をタイムライン検証として、または編集済みビデオを他の場所で生成する許可として扱わないでください。
  • ソースフレーム検査の場合:read_project({"view":"assets"}) でアセットID/タイプを確認した後、view_asset_frames({"assetId":"...","sourceTimesMs":[...]}) を呼び出します。ユーザーにファイルを再アタッチするよう依頼するよりもこちらを優先してください。
  • ローカル専用の視覚的検証の場合:コネクタの視覚的証明に依存する前に、クラウド読み取り可能なメディアをアップロード/登録します。
  • ソースなしの検証の場合:ツールマニフェストが使用したパラメータを公開していることを確認し、トレースログに可視の証明を記録します。

秒について話すときは、read_project からfpsを確認するか、内部でfpsを解決するアダプターツールを使用します。

タイムラインアイテムの位置を報告するときは、トラックエイリアス、アイテムID、開始、期間、アセットIDについて、最新の read_project 構造のみを使用します。計画された/デフォルトのトラックやツールコールの意図を検証済みの配置として報告しないでください。

ユーザーがエディタに結果が反映されているか尋ねた場合、コマンドラインのJSON応答だけでは不十分です。可能な場合はエディタのURLまたは視覚的証明を使用してください。

実際のエージェントトランスクリプトチェック

L1のエージェント実行後、成功を報告する前に完全なチャット記録を検査します:

  1. 実行によって作成された最終的なアシスタント応答とすべてのツール行を読み取ります。
  2. 失敗または警告の行を展開し、正確なエラーを記録します。
  3. 中断されたターン、繰り返されるリトライ、古い提案、不完全なジョブ、および最終応答が誤って成功として説明しているツール結果を確認します。
  4. 最新の read_project 結果を表示可能なタイムラインと比較します。
  5. 視覚的な編集の場合、アシスタントのサマリーを信頼するのではなく、返されたタイムラインフレームを検査します。

正しく見えるタイムラインであっても、報告されていないツールエラーがある実行はクリーンパスではありません。原因を修正するか、残っているエラーを明示的に報告してください。

検証が失敗した場合、ツールを変更する前にギャップを分類します:

  • ツールの説明またはスキーマが不十分だった
  • スキル手順にステップが欠けていた
  • read_project が十分な状態を公開しなかった
  • エディタの認証が完了しなかった
  • メディア/トランスクリプションパイプラインが失敗した
  • クラウドレンダー/エディタの観測がブロックされた

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.

関連スキル