Communitygithub.com

Perde: Opusが計画し、Sonnetが実装する動画生成スキル

マスコットキャラクター「Demli」が出演する、15〜20分のトルコ語トーク動画を生成します。Opusはplan.mdを作成し、レンダリングと制御はSonnetサブエージェントが担当します。

Perde: Opusが計画し、Sonnetが実装する動画生成スキル とは?

このスキルは、Claude Codeエージェントがマスコットキャラクター「Demli」をフィーチャーした15〜20分のトルコ語トーク動画を生成するためのものです。OpusとSonnet間の明確な役割分担に基づいて動作します。Opusはトピックを調査し、`plan.md`(動画の台本とシーン構造)を作成し、検証ツール`perde.py dogrula`でエラーがないことを確認します。Sonnetはサブエージェントとして起動され、実際の音声生成、キャラクターの位置合わせ、レンダリング、制御フレームの生成を担当します。動画の大部分はDemliのスタジオトークで構成され、限られた数のテンプレート(数値表示、引用、リスト、比較表、タイムライン)が効果的に使用されます。スキルはトルコ語の自然な会話、個人的な逸話の回避、ファクトチェックの徹底、4〜7のチャプター(各2〜4分)への分割など、厳格なコンテンツルールを強制し、動画の完全な独自性を確保します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/blgymtr/perde/tree/HEAD/.claude/skills/perde

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

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

ドキュメント

Perde: Opusが計画し、Sonnetが実装する

モーター: このスキルが配置されているリポジトリ、つまり.claude/skills/perdeフォルダの2つ上のディレクトリ(以下 PERDE)。各エピソードは PERDE/bolumler/NN-konu/plan.md にあります。 Python: PERDE/yerel.json 内に python パスがあればそれ、なければ python。常に -X utf8 を付けて使用します(以下 PY)。

基本ルール: トークンを消費します。 すべてのシーンが異なる必要はありません。動画の大部分はDemliが話すスタジオシーンです。テンプレートは時折挿入されます。新しいビジュアルコードは書かず、計画のみを記述します。

作業分担

  1. Opus(あなた): トピックを調査し、plan.md を作成し、perde.py dogrula を実行し、エラーがなくなるまで修正します。モーターコード、フレーム、動画は確認しません。
  2. Sonnet: Agentツールで起動します: subagent_type: general-purpose、model: sonnet、プロンプト: PERDE/AJAN.md ファイルを読んで、bolumler/NN-konu に適用してください。 Sonnetが音声、位置合わせ、レンダリング、制御フレームを実行し、短いレポートを返します。
  3. レポートをユーザーに伝えます。Sonnetが「計画に問題あり」と報告した場合、あなたが計画を修正し、同じエージェントにSendMessageでSonnetを再実行します。

plan.md の形式

---
baslik: 動画のYouTubeタイトル
muzik: warm          # warm | curious | tense | bright | yok
---
# チャプター名                      (YouTubeのチャプタータイトルになり、画面上にチャプターカードが表示されます)

段落。空行で区切られた各ブロックが1つの発話単位です(10〜30秒)。

@liste baslik="3つのステップ"          (次の段落が読まれている間、画面に表示されます)
- 項目1
- 項目2
この段落が読まれている間、リスト項目が1つずつ表示されます。

@poz isaret                      (次の段落のポーズ: アナト | エラー | イシャレット。指定しない場合は順に切り替わります)
段落。

# ソース
読み上げません。説明欄に記載します。各数値の出典をここに記述します。
テンプレート記述方法制限
sayi@sayi n="38" etiket="パーセント" alt="短い説明"n ≤ 8、etiket ≤ 28文字
soz@soz metin="..." kaynak="..."≤ 160文字
liste@liste baslik="..." + - 項目2〜5項目、≤ 34文字
karsilastir@karsilastir sol="..." sag="..." + - 左 ; 右1〜3行、セル ≤ 48文字
zaman@zaman baslik="..." + - ラベル ; テキスト2〜4ポイント、テキスト ≤ 60文字

チャプターカードは # 見出しごとに自動的に表示されます。

執筆ルール

  • 長さ: 15〜20分の場合、1600〜2100語。速度は仮の音声で測定: 1.75語/秒。ナレーター自身の録音が届いたら、lib/plan.py 内の KONUSMA_HIZI を更新します。dogrula が推定時間を表示します。
  • チャプター: 4〜7チャプター、各2〜4分。
  • テンプレート頻度: 3〜5段落ごとに1テンプレート。合計10〜20テンプレートで十分です。
  • 言語: テキストはナレーターが自分の声で読み上げます。短く、音読しやすく、日常的なトルコ語を使用。括弧や略語は使用しません。
  • ストーリー: ナレーターの口調で、架空の個人的な話(「私も解雇されたことがある」など)は書かないでください。個人的な思い出が必要な場合は、[ナレーター: あなた自身の例] のようにプレースホルダーを残し、ユーザーに尋ねてください。
  • 数値と出来事: すべての数値と実際の出来事には出典が必要で、出典は # ソース の下に記述します。出典が見つからない場合は数値を使用しないでください。
  • トピック: 生活、キャリア、お金、正義、環境、信頼、個人ブランド。人工知能は主要なトピックではありません。
  • オリジナリティ: 他のチャンネルのタイトル、チャプター名、または文をコピーしないでください。

新しいテンプレートが必要な場合

まず既存の5つのテンプレートで解決してみてください。それでも不十分な場合は、ユーザーに尋ねてください。承認が得られたら、テンプレートを1回追加します: lib/sahne.py 内に描画関数と SABLONLAR レコード、lib/plan.py 内に SABLON_ALAN とバリデーション。右下隅(x>1660、y>790)はDemliの場所なので、そこにコンテンツを配置しないでください。

関連スキル