コンテンツ制作 · iart-ai/explainer-video-skills

explainer-video

このスキルは、ユーザーが「解説動画を作りたい」「これを短い解説動画にしたい」「製品動画のスクリプトと絵コンテを作成してほしい」「仕組み・オンボーディング動画を制作したい」「ナレーションと字幕を同期させたい」「30〜90秒のアニメーション解説動画を構築したい」と求めた場合に使用します。スクリプト→絵コンテ→シーン構築→ナレーション/字幕同期→編集→ブラッシュアップまでを網羅します。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ネットワーク通信ファイル書き込みDual-pass Audit
Author iart-aiGitHub iart-ai/explainer-video-skills ↗Stars 26License MIT(仓库根 LICENSE:MIT License / Copyright (c) 2026 iart.ai;.claude-plugin/plugin.json 声明 "license": "MIT",GitHub API license.spdx_id = MIT)Commit 3e2d411b72
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

解説動画を機能ツアーではなく「論証」として定義する:パイプラインのいかなる作業に入る前にもナラティブを確定させ、1文に凝縮できるコアな主張を要求する。1文にまとめられない場合は、薄めるのではなくスコープを削る。

skills/explainer-video/SKILL.md
An explainer is an argument, not a feature tour.
この方針が、後続の「script-first」「ペイン先行」「単一の比喩の徹底」といったすべての制約の起点となる。

script-first(スクリプト優先):VO(ナレーション)を主軸とし、画面は現在語られている1文のみを視覚化する。テキストを執筆・計測してから、絵コンテの描画とアニメーションに進む。

skills/explainer-video/SKILL.md
Write and time the words before you storyboard or animate — it is far cheaper to cut a sentence than a built scene.
「1文を直すコスト」と「1シーンを作り直すコスト」の差をプロセスの順序制約として落とし込むことが、このスキルの核心的なエンジニアリング判断である。

ナラティブアークを5つのビートに分割し、それぞれに視聴者の内面台詞を割り当てる(Problem→Stakes→Solution→How→Payoff/CTA)。視聴者の生活世界に基づいた単一の比喩を使用し、途中で比喩を変更することを禁止する。

skills/explainer-video/SKILL.md
| Problem | Name the pain in their words | "That's me." |
「視聴者の内面台詞」列により、抽象的な構成を検証可能なライティング目標へと変換する。

パイプラインは6つの固定ステップ(Script → Storyboard → Build scenes → Narration & captions → Edit → Polish)で進行する。絵コンテ段階では1シーン1アイデアを徹底し、VOの各行を1つの視覚的意図に対応づける。

skills/explainer-video/SKILL.md
2. **Storyboard** — one idea per scene.
6ステップ間に後戻りのループを設けないことで、「シーン構築前にコピーを確定させる」というコスト意識を担保する。

尺はVOから数式で導出する:基準は秒あたり約2.3語(140 wpm)、専門的な文言では約2.0語に減速。シーン長 = 単語数 / 発話速度 + ブレス時間。参考値:30秒 ≈ 69語、60秒 ≈ 138語、90秒 ≈ 207語。

skills/explainer-video/references/script-to-screen-workflow.md
`scene_seconds = line_words / pace + 0.4` (breathing room).
「動画の長さ」を感覚ではなく、制作前に計算可能な数値へと変換する。

字幕は必須要素として扱う(ミュート状態での自動再生を前提)。2行以内、行あたり42文字以内、表示時間1.0秒以上と規定し、ズレを防ぐためRemotion内でカット点と同一のタイミング配列を共有させる。

skills/explainer-video/SKILL.md
In Remotion, drive captions from the same timing array used for scene cuts so they never drift.
「単一のタイミングソース」は字幕のズレを防ぐ具体的な仕組みであり、単なる抽象的な心得ではない。

成果物はRemotionプロジェクト+フレーム単位でレンダリングされたMP4:すべてのアニメーションはフレーム駆動(Date.now / Math.random / タイマーは禁止)。尺がpropsに依存する場合はcalculateMetadataで計算し、still → inspect → encodeの順で検証する。

skills/explainer-video/SKILL.md
A Remotion project with the composition registered (`<Composition>` + zod `schema` + `defaultProps`), all motion frame-driven (no timers / `Date.now()` / `Math.random()`).
フレーム駆動の徹底は「Webアニメーション」との明確な差別化要因である。レンダラーが離散フレームをスナップショットするため、実時間(ウォールクロック)アニメーションではチラつきや停止が発生する。

2コア機能

015ビートのナラティブアーク+各ビートのリズム処方(問題/リスクはクイックカット、解決策はインパクト重視、仕組みは最もじっくり、結びは余韻を残す)
02VOタイミング計算とシーン長の導出(2.3語/秒の基準、視覚ビート1.0秒以上、目標尺からの単語数逆算)
03記入可能な絵コンテテンプレート(タイムコード+VO+ビジュアル+キーアニメーション+トランジションの着地語+アセットリスト)
04シーンレベルのインライン手法:ダイアグラムの段階的表示、キネティックタイポグラフィ、棒グラフの伸長+カウンター
05字幕エンジニアリング:SRT/VTTルール、行数・文字数上限、画面上の最小表示時間、Remotionの単一タイミング配列駆動
06シーン横断的なスタイルシステムの固定(統一されたタイポグラフィスケール、単一のカラー構文、統一イージングカーブ、セーフゾーンを含むスペックシート)
07Remotionレンダリングと検証ループ:3箇所のstillフレーム(defaultPropsではなく実際のpropsを使用)→目視確認→encode実行
08README用デモGIFの同時生成(--codec=gifによる同一レンダリング能力の再利用)

3外部依存関係

KindDependency / Endpoint
clinpx remotion still / render / compositions(帧渲染与编码)
packageRemotion + zod(composition 注册与 props schema)+ React
cliffmpeg / ffprobe(contact-sheet.sh 与 probe-mp4.sh)
clinpx -y playwright(仓库根 seek-shot.sh,网页层兄弟 skill 用)
api无第三方业务 API;配音由用户自备或宿主侧 TTS 产出,skill 只要求把 VO 作为本地静态资源挂载

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

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: npx remotion still / render / compositions(SKILL.mdおよびscripts/README.mdの指示)
  • 网络端点: 外部ネットワークアクセスの宣言: 同一パックのremotion-recipesに基づき@remotion/google-fontsを使用する場合、レンダリング時にGoogle Fontsからフォントを取得
  • 本地工作目录: ファイル読み書きおよび成果物出力: out/*.mp4(完成動画)、out/*.gif、out/f-*.png(stillフレーム)
監査ノート: 判定対象はスキル自身のディレクトリ(skills/explainer-video/:SKILL.md + references/ + 0バイトのREADME.md。独自スクリプトなし、クレデンシャル読み取りなし、ディスク書き込みなし)。オレンジ判定となった要因は実行チェーンにある:出力仕様として`npx remotion still/render`によるMP4レンダリングが要求されており、npxはnpmレジストリからRemotion CLIおよび@remotion/*関連パッケージを取得・実行し、ローカルのバンドルおよびヘッドレスChromium内でプロジェクトコードを実行する。これは分類基準における「サードパーティのプラグイン、ミラー、リモートパッケージへの依存」に該当する(同一作者パックのremotion-videoも同様の理由でオレンジ判定)。スキル自体はクレデンシャル/環境変数を読み取らず、ビジネスAPIを持たず、情報収集や迂回行動も行わないため、レッド判定ではない。発火条件:実際にレンダリング/エクスポートを行う場合のみ発生(スクリプト執筆や絵コンテ作成のみでは発火しない)。プロジェクトがRemotionをローカルのnode_modulesに固定しオフラインレンダリングを行う場合、影響範囲は「ローカルでのプロジェクトコード実行」に収束する。

5二重目の独立検証

  • [ok] 外部依赖调用点复核(npx remotion / ffprobe / @remotion/google-fonts) — SKILL.md Verify loop 实际给出 `npx remotion still Explainer out/f-start.png --frame=0 --props='{...}'` 与 `npx remotion render Explainer out/explainer.mp4`;仓库根 scripts/probe-mp4.sh 确为 ffprobe 实现。@remotion/google-fonts 出现在同 pack 的 wrapped-video/references/remotion-recipes.md,本 skill 只写 `<Audio src={staticFile()}>`,故未把它记为本 skill 的行为。
  • [ok] 无凭证 / 无业务 API 反查 — SKILL.md 与 reference 中无密钥、无 endpoint、无上传动作;`staticFile()` 指向项目内静态资源而非远端。判橙依据仅为远程包依赖,非凭据读取。
  • [ok] 帧驱动纪律的内部一致性 — SKILL.md 的输出契约、Before-you-finish 第 4 条与另两份文档的「no Date.now() / Math.random() / timers」主张互相一致,并与 Remotion 的逐帧快照渲染模型相符(帧驱动才可 seek、可复现)。
  • [ok] VO 数学与叙事两张表的自洽性 — SKILL.md 五拍表(讲「为什么与顺序」)与 Script formula 表(Problem 20% / Solution 15% / How 45% / Payoff 20%,讲「占比预算」)口径可对齐:How 占比最大对应「slowest — hold each step to read」;60s≈138 词与 2.3 w/s 自洽(60×2.3≈138)。
  • [ok] 跨目录 / 跨 skill 引用可解析性 — 正文引用的 `scripts/contact-sheet.sh`、`scripts/probe-mp4.sh` 位于仓库根(单装本 skill 目录会悬空,需装整个 repo);把单场景网页动效分流到同 repo 的 diagram-animation,该 skill 确实存在于本 repo 的 skills/ 下,引用可解析。
  • [ok] 功能声明 vs 实际能力 — frontmatter 宣称覆盖 script→storyboard→scene build→narration/caption sync→edit→polish 全链,正文六步流水线与 reference 的模板/计时表/字幕规范逐项兑现;未见夸大——未声称能自动配音或自动剪素材。

6結論

  • 「1行の修正 vs 1シーンの再構築」のコスト差をパイプラインの順序(script-first)として固定化しており、ワークフロー全体で最も価値のあるエンジニアリング制約となっている
  • ナラティブ構成に「視聴者の内面台詞」列を設けることで、抽象的な5ビートを検証可能なライティング目標に落とし込める
  • 制作前に尺を計算可能:VOの速度+ブレス時間に基づく計算式の適用により、作りながら削る無駄を回避
  • 字幕ズレに対する仕組みレベルの解決策:カット点と字幕で同一のタイミング配列を共有
  • 最適な用途: ナレーションと字幕を伴う30〜90秒の製品・コンセプト・業務プロセスの解説動画に最適。1つのコアな主張から出発し、スクリプト、絵コンテ、シーン、字幕、エクスポートをシームレスに繋ぐ再現性の高いパイプラインを求める場合に適している。特にバッチ再レンダリング(データ差し替えや多言語対応)や「制作前に尺を見積もる」ワークフローに向いている。
    不向きな用途: ナレーションのない純粋なビジュアルショート動画(diagram-animation / isometric-animation / whiteboard-animation などの単一シーン用スキルを使用すべき);長編動画や複数幕構成(このスキルは30〜90秒の単一メッセージに明確に特化);映像美のみを追求したスタイルの実験(すべてのルールは「1つの主張を明瞭に伝えること」のために設計されている)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-28
    Option A · Direct DownloadDownload explainer-video.tar.gz
    sha256: ae5f4f77121acf12…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 3e2d411b72.