mcpField
O
oma-video

oma-video

github.com/gracefullightクリエイティブ・メディア4946 回インストール1 日前に更新
リポジトリ

oma-video について

oma-video は、動画の依頼をショート、解説、デモの各ワークフローに振り分けるスキルです。計画用アセットを生成し、レンダリングに成功すると検証済み動画を作成します。デモには人による画面録画が必要です。

主な機能

  1. 01ショート・解説・デモの各モード
  2. 02画面比率・字幕・音声・長さの設定
  3. 03スクリプトとレンダリング計画の生成
  4. 04出典と警告を記録するアセット一覧
  5. 05レンダリング動画の検証

活用シーン

  1. 01概要からSNS向けショートを作成
  2. 02README・コード・データを解説
  3. 03人が録画した画面から操作デモを作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gracefullight/stock-checker --skill oma-video

インストール後、Claude Code で/oma-videoを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

resources/
checklist.md
execution-protocol.md
prompt-tips.md
script-schema.md
vendor-matrix.md
resources/hyperframes-authoring/
demo.md
explainer.md
README.md
shorts.md
resources/mpt/
driver.py
resources/playwright/
record.mjs
resources/remotion/
.gitignore
package.json
README.md
remotion.config.ts
tsconfig.json
resources/remotion/public/fonts/
README.md
resources/remotion/src/
index.ts
load-fonts.ts
render-spec.ts
Root.tsx
resources/remotion/src/components/
Captions.tsx
Scene.tsx
VideoBase.tsx
resources/remotion/src/compositions/
Demo.tsx
Explainer.tsx
Shorts.tsx
resources/strudel/
package.json
page.html
render.mjs

詳細

Video Router

スケジューリング

使用する場合

ショート動画/リール、README やコードの解説、またはデモのウォークスルーには、このスキルを使用します。

リクエストモードデフォルトのアスペクト比必須のソース
ショート動画、リール、ソーシャルクリップshorts9:16トピックまたは概要
README、コード、データの解説explainer16:9トピックまたはソースパス
デモまたはウォークスルーdemo16:9--capture による人間の録画
使用しない場合

静止画像には oma-image、スライド資料には oma-slide、音声のみには oma-voice、インタラクティブな HTML 解説には oma-explanation を使用します。完成済み動画の編集とライブ配信は対象外です。

構造的なフロー

入力は概要に加え、任意のモード、アスペクト比、ロケール、字幕、ビジュアル、音声、音楽、長さ、コンポジター、キャプチャパス、シードです。出力は .agents/results/videos/<timestamp>-<shortid>-<mode>/ に保存されます。

  • script.json、timing.json、render-spec.json が決定論的なアセットバスを構成します。
  • 字幕と取得した音声/ビジュアルアセットは、ハッシュ、プロバイダー、コスト、警告、終了コードとともに manifest.json に記録されます。
  • 実際のレンダリングが成功すると、<mode>-<slug>.mp4、エンコードされた動画ストリーム、正の ffprobe 再生時間が生成されます。

OMA_VIDEO_MOCK=1 はテストハーネス専用です。.mp4 という名前の決定論的なテキストプレースホルダーを作成できますが、これらのファイルがユーザーへの納品物になることはありません。HyperFrames/MPT ツールチェーンの欠如、未作成のコンポジション、レンダリングエラー、または無効な動画が発生した場合は、診断情報とともに失敗し、復旧用にスクリプト/レンダリング仕様が残されます。

決定して確認する

明確な場合はモードを推定します。ショート動画/リール -> shorts、README/コード/データ/解説 -> explainer、デモ/ウォークスルー/キャプチャ -> demo。1 行のリクエストの場合は、実行前に推定したモード、アスペクト比、長さ、ビジュアル戦略、字幕、ロケール、音声/音楽を伝えます。デフォルトが明確な場合、ユーザーにアンケートへの回答を求めてはいけません。

結果が変わる場合に限り質問します。モード/ソースが曖昧な場合、必要なデモ録画がない場合、またはコスト確認が必要な場合です。明示されたモード、アスペクト比、長さ、字幕、音声はそのまま尊重します。

デモでは、人間が画面を録画し、ログインを操作します。--source web --url はコンテキストを提供するだけで、ログインを自動化したり、レコーダーを起動したりすることはありません。--capture がない場合は、手順に沿ったキャプチャ方法を案内して停止します。

論理操作

ガードレール
  1. 外部への出力が明示的に許可されていない限り、出力パスとキャプチャパスは $PWD 内に保持します。キャプチャ形式を検証し、外部アセットを実行ディレクトリにコピーします。ログとマニフェスト内の URL クエリ/ハッシュトークンをマスクします。
  2. プロバイダーの設定ではキーは任意です。設定済みのチェーンを使用します。有料プロバイダーには、環境キーとコストガードレールが必要です。ローカルのフォールバックで音声、ビジュアル、字幕、音楽を置き換えることができます。カバレッジは警告に記録します。コンポジターの失敗をフォールバック動画で置き換えることはできません。
  3. 有料プロバイダーのアクションや再実行の前に、計画時の見積もりを cost.guardrail_usd または --max-usd と比較し、既存の支出承認を再利用します。アクティブな OMA 動画ワークフローでは、実行前に実際の有料、制限付き、フォールバック、または却下の選択を記録します(実行プロトコルのステップ 2)。--yes または OMA_VIDEO_YES=1 を渡せるのは、すでに承認済みの有料アクションに限ります。この指定によって許可が付与されるわけではありません。
  4. limits.max_duration_sec(180)と limits.max_scenes(40)を遵守します。SIGINT/SIGTERM でサブプロセスの処理をキャンセルします。
  5. 実行ディレクトリは保持します。ユーザーの動画アーティファクトを自動削除してはいけません。
  6. --dry-run は計画用アーティファクトのみを書き込み、プロバイダーによるレンダリングは行いません。MP4 の存在を保証するものではありません。
標準コマンドパス
# Plan or create the asset bus. Supply --script whenever an agent authored it.
oma video generate "Jeju coffee" --mode shorts --aspect 9:16 \
  --captions tiktok --script ./script.json --output json

# Deterministic planning only; no real render or provider work.
oma video generate "explain this project" --mode explainer --seed 42 --dry-run

# Human-recorded demo input.
oma video generate "feature walkthrough" --mode demo --capture <absolute-path>.mp4

# Scaffold the per-run HyperFrames project, author index.html as instructed,
# then render and validate the encoded output.
oma video compose <runDir> --output json
oma video render <runDir> --output json

# Diagnose required toolchains without changing a run.
oma video doctor
oma video provider list

oma video generate --output json は {exitCode, runDir, manifestPath, scriptPath, renderSpecPath, warnings, error} を返します。 動画とアセットのパスはマニフェストから読み取ります。JSON エンベロープに outputs フィールドはありません。

失敗と復旧
  • HyperFrames のコンポジションが見つからない場合:oma video compose <runDir> を実行すると、プロジェクトとオーサリングの仕様が準備されます。生成された AUTHORING.md を使って <runDir>/hyperframes/index.html を作成し、oma video render <runDir> を実行します。このコマンドは、出力をリント、レンダリングし、ffprobe で検査します。報告されたコンポジションまたはツールチェーンの問題を修正して再実行してください。レンダリングできない場合は、失敗レポートを返します。

  • MPT ツールチェーンが見つからない場合:--compositor mpt には、インストール済みのチェックアウト、その仮想環境、ffmpeg が必要です。セットアップが許可されており実行可能な場合は、oma video doctor --install-mpt を使用してください。MPT のセットアップ失敗、ドライバーの失敗、動画以外の出力は診断結果とともに失敗し、プレースホルダーの MP4 は書き込みません。

成功とは、すべてのアセットスキーマとマニフェストのハッシュが検証され、実際の MP4 が動画ストリームと再生時間の検証に合格することを意味します。部分的な成功では、キー不要のビジュアル、タイミング、字幕、または音楽のフォールバックを使用できますが、実際の動画の検証は必須です。

参考資料

条件付きで読み込むリソース

タスクに必要なものだけを読み込んでください。

  • resources/execution-protocol.md:順序に沿ったパイプライン全体、失敗のマッピング、JSON レポートのルールについて説明しています。
  • resources/vendor-matrix.md:プロバイダー、キー、コスト、またはフォールバックの順序を変更する前に確認してください。
  • resources/script-schema.md:--script 入力を作成または検証する場合に確認してください。
  • resources/prompt-tips.md:概要をシーンのプロンプトに変換する場合に確認してください。
  • resources/hyperframes-authoring/README.md と選択したモードのガイド:index.html を作成する前に確認してください。
  • resources/checklist.md:実際の動画をユーザーに渡す前に確認してください。
検証

CLI/ランタイムの変更では、影響を受ける成功パスと失敗パスの回帰テストを追加してください。最低限、対象を絞った Vitest ファイルを実行します。例:

cd cli
bunx vitest run commands/video/providers/compositor.test.ts \
  commands/video/orchestrator.test.ts
bunx biome check commands/video/providers/compositor.ts \
  commands/video/providers/compositor.test.ts

ドキュメントやモックのみの分岐をテストするためだけに、実際のレンダリングを実行しないでください。

コメント