Communitygithub.com

MuhammadaliNazarov/claude-video-skills

数学・技術系アニメーションの制作パイプライン。Manim Community Edition を使用し、3Blue1Brown スタイルの解説動画、アルゴリズム可視化、数式導出、アーキテクチャ図、データストーリーを生成します。アニメーションによる解説、数学アニメーション、概念可視化、アルゴリズム解説、技術解説、3Blue1Brown スタイルの動画、幾何学的・数学的な内容のプログラムアニメーションがリクエストされた場合に使用します。

claude-video-skills とは?

このスキルは、Manim Community Edition を利用したプロフェッショナルな教育用アニメーションビデオ制作パイプラインです。3Blue1Brown スタイルの数学・技術解説動画を生成するために設計されており、コンセプト説明、数式導出、アルゴリズム可視化、データストーリー、アーキテクチャ図、論文解説、3D 可視化の7つのモードを提供します。単一の Python スクリプトで完結し、ブラウザや GPU は不要。Plan(計画)→ Code(コード)→ Render(レンダリング)→ Stitch(結合)→ Audio(音声、オプション)→ Review(レビュー)という明確なパイプラインに従い、教育的なナラティブ設計、幾何学的直観の優先、統一されたカラーパレットとタイポグラフィ、適切なアニメーションタイミングなどの高品質基準を重視します。各シーンは独立してレンダリング可能で、`plan.md` による事前設計と `references/` ディレクトリの包括的なリファレンスガイドにより、初心者から上級者まで一貫した高品質な出力を実現します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/MuhammadaliNazarov/claude-video-skills/tree/HEAD/skills/video-editor/engine/skills/manim-video

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

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

ドキュメント

Manim ビデオ制作パイプライン

創造的基準

これは教育的な映像作品です。すべてのフレームが教え、すべてのアニメーションが構造を明らかにします。

コードを一行も書く前に、ナラティブアーク(物語の流れ)を明確にしましょう。この動画はどのような誤解を正すのか?「なるほど!」という瞬間はどこか?視聴者を混乱から理解へ導く視覚的なストーリーは何か?ユーザーのプロンプトは出発点です — それを教育学的な野心を持って解釈してください。

代数よりも幾何学を優先する。 先に図形を示し、その後に数式を示します。視覚記憶は記号記憶よりも速くエンコードされます。視聴者が数式の前に幾何学的パターンを目にすれば、数式は自然と納得できるものになります。

初回レンダリングでの完成度は譲れません。 出力は修正ラウンドなしで、視覚的に明瞭で美的に一貫している必要があります。ごちゃごちゃしていたり、タイミングが悪かったり、「AI が生成したスライド」のように見える場合は、誤りです。

不透明度のレイヤリングで注意を誘導する。 すべての要素を最大輝度で表示してはいけません。主要要素は 1.0、文脈要素は 0.4、構造要素(軸、グリッド)は 0.15。脳は視覚的な顕著性をレイヤーで処理します。

息継ぎの時間。 すべてのアニメーションの後には self.wait() が必要です。視聴者には、表示された内容を吸収する時間が必要です。決してアニメーションを次々と急がないでください。重要な表示後の 2 秒のポーズは決して無駄になりません。

一貫した視覚言語。 すべてのシーンでカラーパレット、タイポグラフィサイズ、アニメーション速度を統一します。技術的に正しい動画でも、すべてのシーンでランダムな異なる色を使用すれば、美的には失敗です。

前提条件

scripts/setup.sh を実行してすべての依存関係を確認してください。必要条件: Python 3.10+、Manim Community Edition v0.20+ (pip install manim)、LaTeX (Linux では texlive-full、macOS では mactex)、ffmpeg。リファレンスドキュメントは Manim CE v0.20.1 でテスト済みです。

モード

モード入力出力リファレンス
コンセプト解説トピック/概念幾何学的直観を伴うアニメーション解説references/scene-planning.md
数式導出数学表現ステップバイステップのアニメーション証明references/equations.md
アルゴリズム可視化アルゴリズムの説明データ構造を用いたステップ実行references/graphs-and-data.md
データストーリーデータ/指標アニメーショングラフ、比較、カウンターreferences/graphs-and-data.md
アーキテクチャ図システム説明接続とともに構築されるコンポーネントreferences/mobjects.md
論文解説研究論文主要な発見と手法をアニメーション化references/scene-planning.md
3D 可視化3D 概念回転するサーフェス、パラメトリック曲線、空間幾何学references/camera-and-3d.md

スタック

プロジェクトごとに単一の Python スクリプト。ブラウザ、Node.js、GPU は不要。

レイヤーツール目的
コアManim Community Editionシーンレンダリング、アニメーションエンジン
数学LaTeX (texlive/MiKTeX)MathTex による数式レンダリング
ビデオ I/Offmpegシーン結合、フォーマット変換、音声多重化
TTSElevenLabs / Qwen3-TTS (オプション)ナレーションボイスオーバー

パイプライン

計画 --> コード --> レンダリング --> 結合 --> 音声 (オプション) --> レビュー
  1. 計画 — ナラティブアーク、シーンリスト、視覚要素、カラーパレット、ボイスオーバースクリプトを plan.md に記述
  2. コード — シーンごとに 1 クラス、それぞれ独立してレンダリング可能な script.py を作成
  3. レンダリング — ドラフトは manim -ql script.py Scene1 Scene2 ...、本番は -qh
  4. 結合 — ffmpeg でシーンクリップを結合して final.mp4 を作成
  5. 音声 (オプション) — ffmpeg でボイスオーバーや BGM を追加。詳細は references/rendering.md
  6. レビュー — プレビュー静止画をレンダリングし、計画と照らし合わせて確認・調整

プロジェクト構造

project-name/
  plan.md                # ナラティブアーク、シーン構成
  script.py              # すべてのシーンを 1 ファイルに
  concat.txt             # ffmpeg シーンリスト
  final.mp4              # 結合された出力
  media/                 # Manim によって自動生成
    videos/script/480p15/

クリエイティブディレクション

カラーパレット

パレット背景プライマリセカンダリアクセントユースケース
クラシック 3B1B#1C1C1C#58C4DD (青)#83C167 (緑)#FFFF00 (黄)一般的な数学・CS
ウォームアカデミック#2D2B55#FF6B6B#FFD93D#6BCB77親しみやすさ
ネオンテック#0A0A0A#00F5FF#FF00FF#39FF14システム、アーキテクチャ
モノクローム#1A1A2E#EAEAEA#888888#FFFFFFミニマリスト

アニメーション速度

コンテキストrun_time後の self.wait()
タイトル/イントロ出現1.5s1.0s
キーとなる数式の表示2.0s2.0s
変形/モーフィング1.5s1.5s
補助ラベル0.8s0.5s
FadeOut によるクリーンアップ0.5s0.3s
「なるほど!」の瞬間の表示2.5s3.0s

タイポグラフィスケール

役割フォントサイズ使用法
タイトル48シーンタイトル、冒頭テキスト
見出し36シーン内のセクションヘッダー
本文30説明テキスト
ラベル24注釈、軸ラベル
キャプション20字幕、細かい注釈

フォント

すべてのテキストに等幅フォントを使用してください。 Manim の Pango レンダラーは、プロポーショナルフォントを使用するとすべてのサイズでカーニングが壊れます。詳しくは references/visual-design.md を参照してください。

MONO = "Menlo"  # ファイル先頭で一度定義

Text("Fourier Series", font_size=48, font=MONO, weight=BOLD)  # タイトル
Text("n=1: sin(x)", font_size=20, font=MONO)                  # ラベル
MathTex(r"\nabla L")                                            # 数式 (LaTeX 使用)

可読性のため、最小 font_size=18 とします。

シーンごとのバリエーション

すべてのシーンで同一の設定を使用しないでください。各シーンで:

  • パレットから異なるドミナントカラー を使用
  • 異なるレイアウト — 常に中央に配置しない
  • 異なるアニメーション開始方法 — Write、FadeIn、GrowFromCenter、Create を変化させる
  • 異なる視覚的重み — 密なシーンと疎なシーンを混在させる

ワークフロー

ステップ 1: 計画 (plan.md)

コードの前に、plan.md を作成します。詳細なテンプレートは references/scene-planning.md を参照してください。

ステップ 2: コード (script.py)

シーンごとに 1 クラス。すべてのシーンは独立してレンダリング可能です。

from manim import *

BG = "#1C1C1C"
PRIMARY = "#58C4DD"
SECONDARY = "#83C167"
ACCENT = "#FFFF00"
MONO = "Menlo"

class Scene1_Introduction(Scene):
    def construct(self):
        self.camera.background_color = BG
        title = Text("Why Does This Work?", font_size=48, color=PRIMARY, weight=BOLD, font=MONO)
        self.add_subcaption("Why does this work?", duration=2)
        self.play(Write(title), run_time=1.5)
        self.wait(1.0)
        self.play(FadeOut(title), run_time=0.5)

重要なパターン:

  • すべてのアニメーションに字幕: self.add_subcaption("text", duration=N) または self.play() の subcaption="text"
  • ファイル先頭で共有色定数を定義 し、シーン間の一貫性を確保
  • すべてのシーンで self.camera.background_color を設定
  • クリーンな終了 — シーン終了時にすべてのモブジェクトを FadeOut: self.play(FadeOut(Group(*self.mobjects)))

ステップ 3: レンダリング

manim -ql script.py Scene1_Introduction Scene2_CoreConcept  # ドラフト
manim -qh script.py Scene1_Introduction Scene2_CoreConcept  # 本番

ステップ 4: 結合

cat > concat.txt << 'EOF'
file 'media/videos/script/480p15/Scene1_Introduction.mp4'
file 'media/videos/script/480p15/Scene2_CoreConcept.mp4'
EOF
ffmpeg -y -f concat -safe 0 -i concat.txt -c copy final.mp4

ステップ 5: レビュー

manim -ql --format=png -s script.py Scene2_CoreConcept  # プレビュー静止画

重要な実装メモ

LaTeX 用の Raw 文字列

# 誤り: MathTex("\frac{1}{2}")
# 正しい:
MathTex(r"\frac{1}{2}")

エッジテキストの buff >= 0.5

label.to_edge(DOWN, buff=0.5)  # 0.5 未満は不可

テキスト置換前の FadeOut

self.play(ReplacementTransform(note1, note2))  # 上に Write(note2) しない

未追加のモブジェクトをアニメーションしない

self.play(Create(circle))  # 最初に追加する必要あり
self.play(circle.animate.set_color(RED))  # その後アニメーション

パフォーマンス目標

品質解像度FPS速度
-ql (ドラフト)854x480155-15秒/シーン
-qm (中)1280x7203015-60秒/シーン
-qh (本番)1920x10806030-120秒/シーン

常に -ql で反復作業を行い、最終出力時のみ -qh でレンダリングします。

リファレンス

ファイル内容
references/animations.mdコアアニメーション、レート関数、合成、.animate 構文、タイミングパターン
references/mobjects.mdテキスト、図形、VGroup/Group、配置、スタイリング、カスタムモブジェクト
references/visual-design.md12 のデザイン原則、不透明度レイヤリング、レイアウトテンプレート、カラーパレット
references/equations.mdManim での LaTeX、TransformMatchingTex、導出パターン
references/graphs-and-data.md軸、プロット、BarChart、アニメーションデータ、アルゴリズム可視化
references/camera-and-3d.mdMovingCameraScene、ThreeDScene、3D サーフェス、カメラ制御
references/scene-planning.mdナラティブアーク、レイアウトテンプレート、シーン遷移、計画テンプレート
references/rendering.mdCLI リファレンス、品質プリセット、ffmpeg、ボイスオーバーワークフロー、GIF エクスポート
references/troubleshooting.mdLaTeX エラー、アニメーションエラー、よくある間違い、デバッグ
references/animation-design-thinking.mdアニメーションと静的表示の使い分け、分解、ペーシング、ナレーション同期
references/updaters-and-trackers.mdValueTracker、add_updater、always_redraw、時間ベースのアップデータ、パターン
references/paper-explainer.md研究論文をアニメーションに変換する — ワークフロー、テンプレート、ドメインパターン
references/decorations.mdSurroundingRectangle、Brace、矢印、DashedLine、Angle、注釈のライフサイクル
references/production-quality.mdコード前、レンダリング前、レンダリング後のチェックリスト、空間レイアウト、色、テンポ

創造的分岐(ユーザーが実験的・創造的・ユニークな出力を求める場合のみ使用)

ユーザーが創造的、実験的、または型にはまらない説明アプローチを求める場合、アニメーションをデザインする前に戦略を選択し、それについて検討してください。

  • SCAMPER — ユーザーが標準的な説明に新しい視点を求める場合
  • 前提の反転 — ユーザーが典型的な教え方に挑戦したい場合

SCAMPER 変換

標準的な数学・技術的可視化を変換します:

  • 代替 (Substitute): 標準的な視覚的メタファーを置き換える(数直線 → 曲がりくねった道、行列 → 市街地グリッド)
  • 結合 (Combine): 2 つの説明アプローチを統合する(代数的 + 幾何学的を同時に)
  • 逆転 (Reverse): 結果から逆にたどり、公理まで分解する
  • 修正 (Modify): パラメータを誇張してその重要性を示す(学習率を 10 倍、サンプルサイズを 1000 倍)
  • 除去 (Eliminate): すべての表記を取り除き、アニメーションと空間関係のみで説明する

前提の反転

  1. このトピックがどのように可視化されるのが「標準的」かをリストアップする(左から右、2D、離散的ステップ、形式表記)
  2. 最も基本的な前提を 1 つ選ぶ
  3. それを反転させる(右から左への導出、2D 概念の 3D 埋め込み、ステップではなく連続的モーフィング、表記ゼロ)
  4. その反転によって、標準的なアプローチでは隠されていた何が明らかになるかを探る

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

MuhammadaliNazarov/claude-video-skills

The user's CINEMATIC editing skill, separate from the everyday video-editor. Use only when the user wants something more cinematic, artistic, filmic, moody or "like Gawx" — a personal documentary, a travel film, a making-of, a story Reel with a film look — or says creative, cinematic, film look, moody, aesthetic, short film, Gawx. Low-key red/teal film grade (Cine_Gawx LUT), grain, halation, vignette, framed 4:5 / 1.37:1 / 2.39:1 pictures, small red chapter cards, music-led montage bursts, object close-ups, bookend storytelling with the meaning said out loud. For normal talking-head Reels with one-word captions use video-editor instead.

MuhammadaliNazarov/claude-video-skills

The user's scriptwriting and storytelling skill for short-form video (Instagram Reels first, also TikTok, Shorts, YouTube hooks). Writes hooks, full spoken scripts, on-screen text scripts, captions, B-roll shot lists and CTAs, using proven viral format families (Advice, Opinion, Relatable, Storytelling, Easy-to-use), story structures (normal → explosion → new normal; stakes → big question → head fake → re-hook; the Kallaway hook → lock-in → body/re-hook format; but/therefore) and current platform research. Use whenever the user asks to write, plan, brainstorm, fix or rate a script, hook, caption, video idea, content calendar, story, or "what should I post", or says script, hook, idea, format, storytelling, caption, CTA, or "make this go viral".

MuhammadaliNazarov/claude-video-skills

The user's one video editing skill. Edit any video by conversation, from raw footage to a finished file. Instagram Reels / vertical 9:16 (the default; the user mainly posts on Instagram), YouTube 16:9 hooks and long form, and anything else (montage, travel, interview, tutorial, screen recordings). Transcribes with ElevenLabs Scribe, cuts retakes and dead air, colour grades with cinematic LUTs (including Apple Log), adds word-timed captions (one word at a time in red/white or red/black by default; yellow and documentary styles too), split-explainer layouts learned from reference Reels, HyperFrames motion graphics, punch-ins, B-roll, free sound effects, music beds, and renders locally. Use whenever the user drops footage, names a video file, or says edit, cut, Reel, Instagram, YouTube, captions, subtitles, grade, LUT, Apple Log, animate, overlay, highlight this screen recording, or render.

関連スキル