コンテンツ制作 · nateherkai/hyperframes-student-kit

edit-video

文字起こし、無音トリミング、言い間違いレビュー、ビジュアルストーリーテリング、モーショングラフィックス、検証済みHyperFramesレンダリングを通じて未加工のトーキングヘッド動画を編集します。編集プロセス全体の実行に使用します。単一の操作のみを希望する場合は、対応する専用スキルへ直接ルーティングしてください。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ネットワーク通信ファイル書き込みDual-pass Audit
Author nateherkaiGitHub nateherkai/hyperframes-student-kit ↗Stars 1070License NOASSERTION(仓库根 LICENSE,实为 MIT 文本)Commit 0d30152a82
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

実体は「統括型」のオーケストレーションプロンプト:自身はスクリプトを一切含まず、各ステップを専門スキルに委任することで編集パイプライン全体を実行。単一の要望は対応する専門スキルへ直接ルーティングする。

.claude/skills/edit-video/SKILL.md
Use for a complete edit; route a single requested operation directly to its specialist skill.
ディレクトリ内には SKILL.md 1ファイルのみが存在(find で確認済み)。そのため、能力境界 = ステップのオーケストレーション + 規律の制約 + 納品契約となる。

ステップ1でメディアの事前調査と元ソースの保護を実施:ffprobe で尺・ストリーム・解像度を調査し、元動画はプロジェクトの assets に複製するか、指定されたローカルパスのみを参照する。

.claude/skills/edit-video/SKILL.md
1. Inspect duration, streams, and source resolution with ffprobe. Copy the source into the project's assets or reference an explicitly provided local path.
元素材のインプレース書き換えを防ぐため、プロジェクトは一律 video-projects/<slug>/ 配下に配置される。

ステップ2が唯一の外部サービス連携ポイントであり、「コストドキュメントの事前確認 → 既存の文字起こしの再利用 → その後初めて外部サービスの利用を検討 → 未承認時はアップロードと費用について事前説明」という厳格な順序を規定。

.claude/skills/edit-video/SKILL.md
2. Read `docs/TOOLS-AND-API-KEYS.md` before service setup. Reuse a matching word transcript. Otherwise use the student's chosen provider; Nate defaults to `node scripts/transcribe-elevenlabs.mjs <source>`. OpenAI Whisper and local Whisper are supported workflow alternatives after transcript normalization. Check available credentials or local dependencies. Explain uploads and costs before any service call whose authorization is still missing.
これが本スキルがオレンジ判定となった根拠:サービス呼び出しがメインフローに組み込まれており、デフォルトでリポジトリレベルの ElevenLabs ヘルパー(キー読み込み、音声アップロード、枠消費)を使用し、OpenAI Whisper やローカル Whisper も選択可能となっている。

カット編集フェーズは明示的に2段階に分割:まず ../cut-silences/SKILL.md に従ってEDLとリタイムされた文字起こしを出力し、次に ../cut-mistakes/SKILL.md に基づいてレビュー形式の言い間違いカットを行う。

.claude/skills/edit-video/SKILL.md
3. Read `../cut-silences/SKILL.md`. Produce an EDL and a retimed transcript, and render the silence pass when editing is authorized. … 4. Read `../cut-mistakes/SKILL.md`. Inspect candidates in context and preserve intentional emphasis.
ステップ4には見落としがちな規律も含まれる:「Match every transcript to its actual video.(文字起こしは必ず実際の動画バージョンと一致させること)」

モーショングラフィックスフェーズも同様に委任:視覚的なアークは video-storytelling、オーバーレイ/ビートは hyperframes-video-beats に委任し、「ビートシートの作成 + 1ビートにつき1つの視覚的アイデア + 意図的な伏線回収」のアウトプットを要求。

.claude/skills/edit-video/SKILL.md
5. Read `../video-storytelling/SKILL.md` for the visual arc and `../hyperframes-video-beats/SKILL.md` for overlays. Write a beat sheet with transcript anchors, one visual idea per beat, and deliberate callbacks.
ステップ6ではさらに MOTION_PHILOSOPHY.md、../hyperframes/SKILL.md、GSAPリファレンス、style-library を参照し、「Localize every asset used by the composition」を要求する。

品質ゲートは2重構成:まず preflight + HyperFrames lint + 文字起こし同期バリデータを実行し Studio でプレビュー確認。その後ドラフトレンダリングを行い、フレーム抽出による映像確認とカット境界の聴取確認を実施。

.claude/skills/edit-video/SKILL.md
7. Run preflight and HyperFrames lint from the project, plus the transcript-sync validator for anchored sub-compositions. Review Studio before the draft. … 8. Render a draft, inspect encoded frames and transitions, and listen across cut boundaries.
ステップ8では検査項目(顔のフレーミング / テキストの視認性 / 黒フレーム / A/V同期)を具体的に列挙し、不合格の場合は修正してから最終レンダリングを行うよう定めている。

納品物は単一ファイルではなく成果物一式:完成動画のパス、カット編集決定内容、リタイムされた文字起こし、composition、および「何を検査し、どのような制約が残っているか」を記した VERIFY.md。

.claude/skills/edit-video/SKILL.md
Deliver the final MP4 path, edit decisions, retimed transcript, composition, and `VERIFY.md` describing what was checked and any remaining limitations.
ドキュメント末尾の一文が能力境界を明確に示している:「An automated detector proposes edits; editorial judgment remains necessary.(自動検出器は編集案を提示するだけであり、編集者による判断は依然として不可欠である)」

2コア機能

01エンドツーエンドのオーケストレーション:未加工の口頭動画素材から検証済み完成動画までの単一メインライン(8つの番号付きステップ)
02オンデマンドな振り分け:単一操作のみを行う場合はパイプライン全体を実行せず、対応する専門スキルへ直接誘導
03文字起こしの経済的規律:既存の単語レベル文字起こしの再利用を最優先し、不足している場合のみ外部サービスを呼び出し
04サービス利用前の承認とコスト提示(未承認の場合はアップロードと費用について事前説明)
052段階のカット編集委任:無音カット(EDL + リタイム文字起こし)→ 言い間違いレビュー編集
06ビジュアルストーリーテリングとビート設計の委任、およびビートシートと文字起こしアンカーの必須化
072重の品質ゲート:静的チェック(preflight/lint/transcript-sync/Studio)+ レンダリング後のフレーム抽出確認およびカットポイント聴取
08納品契約に自己証明ドキュメント VERIFY.md を含む(検査内容および残存する制約の明記)

3外部依存関係

KindDependency / Endpoint
cliffprobe(媒体摸底:时长/流/分辨率)
apiElevenLabs Scribe(默认转录服务;经仓库级 helper 上传音频取词级时间戳)
apiOpenAI Whisper API(替代云转录;自带 key 与计费)
apiKie.ai(可选生成式 B-roll/图像素材服务,作者自述偏好而非必需)
cliHyperFrames CLI(preflight / lint / preview / render,路径与用法由 ../hyperframes 与 ../hyperframes-cli skill 指路)
packageNode.js + 仓库级脚本(transcribe-elevenlabs.mjs、validate-beat-sync.mjs、preflight 系列)
networkHyperFrames Studio(本地预览服务器,渲染前人工审看)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: 本スキル自体にはスクリプトは0件(ディレクトリ内には SKILL.md のみ、find -type f で確認済み)
  • 网络端点: 外部ネットワークアクセスの宣言: 実行時:ElevenLabs 文字起こしアップロード —— 音声を api.elevenlabs.io へPOST送信(リポジトリレベルのヘルパー経由、SKILL.md ステップ2)
  • 本地工作目录: ファイル読み書きおよび成果物出力: video-projects/<slug>/ 配下のプロジェクトファイル(元動画の複製、assets/、BRIEF.md または DESIGN.md、composition)
監査ノート: 本スキル自身のディレクトリ内には SKILL.md 1ファイルのみが存在します(スクリプトや認証情報読み込みコードは含まれません)。しかし、メインプロセスのステップ2に「文字起こし」が明記されており、デフォルトルートとしてリポジトリレベルの `scripts/transcribe-elevenlabs.mjs` を採用しています。このヘルパーは ELEVENLABS_API_KEY を読み取り、ユーザー音声を api.elevenlabs.io にPOST送信するため、素材の外部送信とアカウント枠の消費が発生します。また、OpenAI Whisper(別キーが必要)や Kie.ai(自前のクォータが必要)という外部サービスルートも提示されています。SKILL.md 自体も「利用可能なクレデンシャルの確認」と「アップロードおよび費用の事前説明」を義務付けています。統一基準「ユーザー素材を外部サービスバックエンドへ送信/アカウント枠を消費 → オレンジ」に該当し、同一リポジトリ内の faceless-explainer(HeyGen認証情報への依存で中核機能を実行 → オレンジ)や video-edit(認証情報を読み込むサードパーティCLIを実行 → オレンジ)と同等の構成です。同一バッチの cut-silences / cut-mistakes(🔵)が純粋にローカルコードで完結し、文字起こしを上流の成果物として定義している(キー不要のローカルWhisperも許容)のに対し、本スキルはサービス呼び出しをデフォルトステップかつコスト規律として組み込んでいます。なお、サンドボックス無効化、TLSダウングレード、自動化検知回避、任意コード実行面(レンダリングやCLIはローカルで実行され、パラメータはローカルファイル由来)などのレッド判定に該当する特徴は確認されていません。

5二重目の独立検証

  • [ok] 目录文件清单(是否真的无脚本) — find .claude/skills/edit-video -type f 仅返回 SKILL.md;无 scripts/、无 agents/、无隐藏文件。
  • [ok] 被引用路径是否真实存在 — 仓库内存在 .claude/skills/{cut-silences,cut-mistakes,video-storytelling,hyperframes-video-beats,hyperframes,style-library}/SKILL.md、docs/TOOLS-AND-API-KEYS.md、MOTION_PHILOSOPHY.md、scripts/transcribe-elevenlabs.mjs —— 委派链与文档依赖均非空指。
  • [ok] 转录 helper 的凭证与端点(橙档证据) — scripts/transcribe-elevenlabs.mjs 定位到:ELEVENLABS_API_KEY 三别名 env 读取 + .env 兜底、POST https://api.elevenlabs.io/v1/speech-to-text、请求头 xi-api-key、timestamps_granularity=word、ffmpeg 抽 16kHz 单声道 mp3 上传。
  • [ok] 「可选服务」是否被误判为主线 — Kie.ai 在 docs 中被标为 Optional,且明确 the kit does not bundle a universal Kie generation script;本 skill 的 SKILL.md 未直接点名 Kie,只写『学生自选 provider』——已按可选路径写入 external_deps 并在 reason 里附条件说明。
  • [ok] 自动化边界是否夸大 — SKILL.md 末句 『An automated detector proposes edits; editorial judgment remains necessary.』,与 cut-mistakes 的 review-gate 设计一致,无夸大。
  • [ok] 红档特征反查 — 全文无 sandbox 关闭、无 --no-verify/TLS 降级、无 AutomationControlled/反爬绕过、无下载并执行远端代码的指令;渲染与校验均为本地 CLI。

6結論

  • 散らかりがちな編集パイプラインを8ステップのSOPとして標準化し、全ステップで下流スキルと成果物を明示して引き継ぎ境界を明確化。
  • コストと承認規律を前置:ドキュメントの事前確認、文字起こしの優先再利用、未承認時のアップロードおよび費用の事前説明により、無駄なクラウド呼び出しを削減。
  • 実行可能な品質ゲート設計:静的チェック(preflight/lint/transcript-sync/Studio)に加え、レンダリング後にフレーム抽出を行って顔、文字、黒フレームを確認し、カット境界を聴取確認することを義務付け。
  • 納品物に自己証明ドキュメント VERIFY.md を含め、承認の重複排除を規律化(同一の承認アクションを何度も尋ねない)。
  • 能力境界に対して誠実:自動検出は提案にとどまり、編集者による判断は依然として省略できない旨を明記。
  • 最適な用途: 推奨対象:トーキングヘッドの元動画を保持し、「文字起こし → 無音削除 → 言い間違いカット → ビジュアルストーリーテリング → モーショングラフィックス → レンダリング → 検証」を一括で実行したいクリエイターや制作チーム。また、本構成をパイプラインの骨格とし、文字起こしプロバイダやモーショングラフィックススキルを必要に応じて差し替えて運用したい場合にも適しています。
    不向きな用途: 非推奨対象:素材をローカル環境外へ一切出したくない場合(事前にローカルWhisperルートへ変更および検証が必要)、単一の操作のみを求めている場合(概要欄で専門スキルへの直接誘導を指示済み)、およびNode/ffmpeg/Chromium環境が整っていないマシン環境。
    Install Agent-Ready
    ① Verified Mirror 2026-09-28
    Option A · Direct DownloadDownload edit-video.tar.gz
    sha256: ec3a3991479999f4…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 0d30152a82.