トゥーンファクト:アニメーション漫画風豆知識ショート動画、たった一つのスキルで
やりたいことを平易な言葉で伝えてください。このスキル一つで、アイデア、豆知識、脚本、ショット計画、キャプション、ElevenLabs音声、構築、自己レビュー、レンダリング、そして後からの更新まで、すべての作業を行います。スタイルについてユーザーに説明を求めることはありません。このスキル内で定義されています。
モード(ユーザーの言葉から選択)
| ユーザーの発言 | モード | 参照ドキュメント |
|---|---|---|
| "new video", "new video about X", "surprise me", "make the next short" | 新規 | docs/new-video.md |
| "update video ", "fix the video", "change X in ", "apply the latest rules" | 更新 | docs/update-video.md |
| "continue video "(音声保存などの手動ステップ後) | 続行 | docs/new-video.md、欠けている最初のフェーズから再開 |
| "review video", "check ", "check this mp4" | レビュー | docs/review.md のみ |
| "video ideas", "give me ideas" | アイデア | docs/new-video.md フェーズ1のみ:実際のストーリーや興味深い事実を調査し、ストーリーの強度とフックの強度でスコア付けし、videos/_ideas.md に記録。ストーリーの一文、その構造、ドラフトフックを含むトップ5を表示。構築はしない。 |
| "update the skill" | アップグレード | プリフライトステップ2のみ実行し、バージョン変更を報告。 |
リクエストが不明瞭な場合は、動画名が指定されていなければ「新規」を、指定されていれば「更新」を選択します。動画の構築方法と見た目のルールは docs/engine.md にあります。「新規」と「更新」の両方でこれを参照します。
運用ルール(全モード共通)
- ショットはナレーション内容を正確に表現しなければならず、機械的にチェックされます。 すべてのショットは、その主張する内容(何を読んでいるか、誰が何を見ているか、何が何を狙っているか、何を保持しているか)を宣言し、
assertSceneを呼び出す必要があります。プロップに描かれたすべての文字列はfitTextを通します。tools/check_scene.pyは、これらの呼び出しが存在するまでレンダリングをブロックします。ゲートに失敗した状態でレンダリングを進めてはならず、テキストを縮小したり許容差を広げたりしてトリミングされた看板を修正してはいけません。ジオメトリを修正してください。 - フックは飾りではなくゲートです。
docs/new-video.mdのフェーズ2で最初の行がフックゲートを通過するまで脚本は作成されず、templates/review_checklist.mdの上部にあるフックブロックが通過するまで動画は納品されません。弱い最初の行は後から何かで埋め合わせるのではなく、書き直す理由です。 - 質問はしないでください。 合理的な選択を行い、それを動画の
NOTES.mdに書き留め、先に進んでください。停止するのは、音声を作成できない場合(docs/new-video.mdフェーズ3参照)、必要なツールがない場合、または元に戻せない決定が必要な場合のみです。 - 動画ごとに1つのフォルダ、すべてをその中に収めます:
videos/<slug>/(slug = タイトルを小文字のハイフン区切りにしたもの)。最終的なMP4とpublish.txtは最上位に、作業ファイルはsource/に、古いレンダリングはversions/に配置します。スクラッチ画像、コンタクトシート、テストレンダリングなどはwork/<slug>/にのみ置きます。作業内容を会話内だけに残さないでください。 - ElevenLabsのクレジットは音声ごとに1回だけ使用します(1テイク)。話す言葉が変わった場合、音声が使用不能な場合、または
docs/new-video.mdフェーズ3ステップ4のパフォーマンスチェックに合格しなかった場合(笑い声やオーバーアクティング)に限り、タグを減らしてもう一度だけ再生成します。 - 自然さが表現力に勝ります。 ナレーターは決して笑いません。脚本全体で
[laughs]や[chuckles]は使用禁止、タグは最大3つまで、音声テキストに感嘆符は使用禁止です。絵がコメディを担い、ナレーターが自分のジョークで笑うのはAI生成のテイクの最も明確な兆候です。 - APIキーを印刷したり保存したりしないでください。 ElevenLabs MCPはユーザーがClaude Codeに追加するものであり、接続されているものとして使用します。
- 動画を公開またはアップロードしないでください。 納品物は最終MP4、そのサムネイル、そして調査済みの
publish.txt(タイトル、説明、ハッシュタグ、タグ)です。 - 最終的な返信: 数行で(何を作成または変更したか、どこにあるか、重要な選択、次のステップを1つ)。ステップバイステップの要約は不要です。
プリフライト(毎回、静かに、全モードで実行)
- プロジェクトとフォルダ。 Remotionプロジェクト(
package.jsonとsrc/を含むフォルダ)を見つけます。videos/、videos/_ideas.md、work/がなければ作成します。 - このスキルを最新に保つ。 このスキルフォルダがgitクローンの場合、静かに
git pull --ff-onlyを実行し、CHANGELOG.mdで変更点を読みます。変更があった場合のみ、最終返信で新しいバージョンに言及します。gitクローンでない場合はスキップします。 - ツール。
ffmpeg、Python 3、@remotion/threeを確認します(不足している場合はプロジェクトに@remotion/threeとthreeをインストールします)。ElevenLabs MCPツール(text_to_speech、generate_speech、creative_generate_speech、list_voices、speech_to_text、transcribeなどの名前)を見つけます。遅延している場合はToolSearchでロードします。ツールがない場合は、音声作成までは進め、NEEDS_AUDIO.mdを作成してElevenLabs MCPを接続する必要がある(または音声を提供する必要がある)ことを説明し、そこで停止します。 - 古い独立スキル。
.claude/skills/cartoon-3d-short/または.claude/skills/new-video/も存在する場合は、それらを使用しないでください。最終返信で、これらの2つのフォルダはこのスキルが置き換えるため削除できることをユーザーに一度だけ伝えます。 - レガシーヘルパーファイル。
video-ideas/SKILL-UPDATE.md(最初の行が「# Instructions for Claude Code」)とvideo-ideas/README.md(最初の行が「# video-ideas」)が存在する場合は削除します。他のファイルは絶対に削除しません。 - 古い公開ファイルの名前変更(一度だけ)。 公開ファイルは現在プレーンテキストです(Markdownではありません)。ユーザーはそこからコピーして使用するため、レンダリングされた状態で読みたくないからです。
videos/<slug>/publish.mdごとに、videos/<slug>/publish.txtにコピーし、その過程でMarkdownを削除します(#、**、バッククォート、テーブルのパイプを削除し、見出しは大文字に変換し、内容は同一に保つ)。最終返信で、削除可能になったpublish.mdファイルをユーザーに伝えます。自分では決して削除しません。 - 古いレイアウトの移行(一度だけ、移動のみ、削除はしない)。 古いバージョンから
video-ideas/またはout/が存在する場合:video-ideas/_ideas.mdはvideos/_ideas.mdになります。video-ideas/<slug>/の各フォルダについて:publish.md(またはpublish.txt)はvideos/<slug>/publish.txtに移動します。その他のすべてのファイル(script.md、voiceover*.mp3、words.json、NOTES.md、REVIEW.md、CHANGES.md、NEEDS_AUDIO.md、レビューシート)はvideos/<slug>/source/に移動します。out/内の各最終レンダリングを、ファイル名またはタイトル(out/<slug>.mp4、またはThe_Man_Who_...のような名前)でslugにマッチングします。最も新しいものをvideos/<slug>/<slug>.mp4に、古いものを日付順にvideos/<slug>/versions/<slug>_v1.mp4、_v2.mp4にします。out/内のその他すべて(静止画、コンタクトシート、QA、テストレンダリング、動画ごとのスクラッチフォルダ)はwork/legacy-out/に移動し、上記の2つのヘルパーファイルはwork/legacy/に移動します。マッチングできないものはそこに残します。- 完了したら、何をどこに移動したかを最終返信で(短いリストで)一覧表示し、空になった
video-ideas/とout/フォルダは削除できることをユーザーに伝えます。src/、public/、scripts/、audio/、backup/には触れず、既にwork/にあるファイルはそのままにします。
フォルダ構成
videos/ # 完了済みまたは進行中のすべての動画、動画ごとに1フォルダ
_ideas.md # 使用または却下されたすべてのトピック(最初に読み、最後に追記)
<slug>/
<slug>.mp4 # 最終動画:アップロードするファイル
thumbnail.jpg # 作成されたカバー画像、2160x3840(未加工のフレームではない)
publish.txt # タイトル、説明、ハッシュタグ、タグ、カテゴリ、固定コメント + 調査ソース
source/ # script.md voiceover.mp3 words.json NOTES.md REVIEW.md CHANGES.md
versions/ # 以前のレンダリング: <slug>_v1.mp4 ...(更新モードで保持)
work/ # スクラッチ、削除可能:静止画、コンタクトシート、QA、テストレンダリング、REMOTION_TMP(他にドライブがない場合)
<slug>/
このスキルに含まれるもの
| パス | 説明 |
|---|---|
docs/new-video.md | 新規および続行:アイデア、調査、脚本、音声、構築、レビュー、納品 |
docs/update-video.md | 更新:変更の分類、旧バージョンの保護、適用、再レンダリング、リグレッションチェック |
docs/review.md | レビューループ(コンタクトシート、チェック、スコア、修正) |
docs/engine.md | 動画の構築方法と見た目のルール:パイプライン、全動画のルール、フレーミング、照明、カメラワーク、キャプション、リアクション、品質ゲート |
references/story_format.md | 6ビートのストーリーフォーマット、コメディツールボックス、テンポの数値 |
references/ (その他) | スタイルバイブル、測定レポート、参照フレームとシート |
templates/ | レンダラーソース(bridge/)、音声合成、スクリプト、ショット計画、脚本とレビューのテンプレート |
docs/history/ | 以前の2つのリポジトリのREADME、CHANGELOG、元の文言のアーカイブ。指示ではない。 |
tools/review_video.sh | 長さ、ハードカット、ラウドネスのチェックとコンタクトシート |
tools/make_thumbnail.py | 2160x3840のShortsサムネイルをデザイン:キャラクターを切り抜き、作成した背景に配置し、テキストを重ねる |
tools/check_scene.py | ショットが物理的な真実を宣言していない、またはプロップテキストが適合していないレンダリングをブロックする |
tools/check_voice.py | 音声テイクをチェック:速度、ポーズ、ラウドネス、配信が速すぎる秒数(笑い、早口) |