英語版:
SKILL.en.md
media — 動画 / 音声 / 画像 / URL
軽量スキルで、独自コードはありません: ローカルCLI(ffprobe, ffmpeg, yt-dlp)とセッションごとにフェッチされるサードパーティスキル(mediaskills, watch, music-listener)にルーティングします — 以下のフェッチセクションを参照してください。
入力タイプ別ルーティングテーブル
ffprobe/file で識別; URLの場合は返されるファイル名を確認します。
| 入力+ニーズ | ツール | 備考 |
|---|---|---|
| メディアファイルのパラメータ | ffprobe(ローカル) | セッションスキル不要 |
| 動画/URLの内容要約 | スキル watch(claude-video) | --engine local |
| 動画/URLのテキスト抽出(SRT/VTT) | スキル speech-captions | transcribe.py --model tiny; 大きな耳には大きいモデル |
| 字幕: シフト/変換/焼き込み | スキル subtitles | shift.py convert.py extract.py burn.py |
| カット/結合/トランスコード、GIF、フレーム/音声 | スキル video-transformation | trim.py trim_multi.py concat.py … |
| カット/ショット検出 | スキル shots | detect.py extract-frames.py |
| フレーム内容分析(画面上のテキスト) | スキル vision-analysis | エージェントがフレームを表示 + スクリプトでJSONマージ |
| 画像/スクリーンショット: OCR/リサイズ/変換 | スキル image | ocr.py(tesseract) |
| 音声: トリム/ノーマライズ/無音削除 | スキル audio | |
| URL/ファイルからの音楽(歌詞が欲しい) | スキル music-listener | セッションごとにフェッチ、music-listener/scripts/ 参照 |
| URLからのメディアダウンロード | スキル download | url.py(yt-dlp) |
| SMPTEタイムコード、放送用キャプション | スキル timecode、skill captions-compliance | タイムコードに同期したキャプション |
| ffprobe/tesseract/uv の不足 | スキル install-media-tools | doctor.sh で確認、install.sh でインストール |
セッションごとのサードパーティスキル(フェッチ、永続インストール不要)
このリポジトリにはサードパーティスキルは含まれていません。セッション用テンポラリにダウンロード:
scripts/fetch-session.sh --list→ 名前を確認;--skill <名前>または--all— スクリプトが正しいコミットSHAでソースリポジトリを sparse-clone し、セッション用テンポラリにコピー。~/.agents/skills/<名前>/scripts/(または~/.config/opencode/skills/<名前>/…)で使用。- オフライン/ネットワーク接続なし: ローカルCLIと必要なモデルが揃っていれば、ローカルファイル操作は実行可能。セッションスキルのフェッチ、URLダウンロード、未キャッシュモデルのダウンロードにはネットワークが必要;
yt-dlpはオフライン時にURLをダウンロードしません。
各スキルのコミットSHA + ライセンス: scripts/fetch-session.sh 内の TABLE テーブルを参照。
ルール
- 出力は元ファイルの隣に配置: 要約
<名前>.digest.md、字幕<名前>.srt|.vtt、クリップ<名前>.clip-<t1>-<t2>.mp4。既存ファイルは上書きしません。 - タイムスタンプ/クリップは実際のフレームを使用 —
ffprobeで確認し、推定しません。 - 引き渡し前に検証:
ffprobeで出力ファイルが開けること、時間/コーデックが要件を満たしていることを確認。 - 入力言語を反映 — ユーザーの使用言語と同じ言語で応答します。