Communitygithub.com

SaneHe/clay-themed-stopmotion

HTML / GSAP / HyperFrames でテーマに沿った短いクレイ・ストップモーション動画を生成します。ラスタアセット生成、決定論的ステップモーション、ローカルオーディオレイヤリング、コンポジット監査、ランドスケープまたはポートレートエクスポートを検証します。ユーザーが特定のストーリー、場所、時代、キャラクターワールド、またはビジュアルパレットで手作りのクレイアニメーションを希望するときに使用します。

clay-themed-stopmotion とは?

このスキルは、HTML、GSAP、HyperFrames を使用してテーマ駆動型の短いクレイ・ストップモーション動画を生成するための専門ツールです。粘土テクスチャ、レイヤードアセット、決定論的ステップモーション、およびローカルオーディオを活用し、手作りのストップモーション美学を実現します。主な用途は、クレイアニメーションの雰囲気を維持しながら、ユーザーのbriefに基づいて特定のストーリー、場所、時代、またはキャラクターワールドを表現することです。このスキルは、コード生成の前に、テーマ、キャラクター、ビジュアル素材、オーディオ要件を明確にするためのDESIGN.mdとSTORYBOARD.mdの作成から始まる標準化されたワークフローに従います。背景、キャラクター、小道具を含むラスタアセットは一貫したスタイルで生成され、アセットの帰属を検証するためにコンポジット監査が行われ、重複や矛盾を防ぎます。静的フレームが完成した後、GSAPを使用して決定論的なストップモーションが追加され、ランダム性が排除され、一貫性のある手作りの動きが保証されます。字幕、エンドクレジット、レイヤードオーディオが統合され、ランドスケープとポートレート(1080x1920)の両方のエクスポートが検証されます。このスキルはClaude Code、GitHub Copilot、または同様のツールで使用するように設計されており、検証コマンドとlintingツールを使用して、出力が指定された品質基準を満たしていることを確認します。これにより、音楽が無断使用されず、目に見えるアーティファクトがないことなどが保証されます。

対応~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/SaneHe/clay-themed-stopmotion/tree/HEAD

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

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

ドキュメント

汎用クレイ・ストップモーションテーマ動画

このスキルは、視覚スタイルが安定し、テーマが交換可能な短い動画を生成するためのものです。「クレイ質感+レイヤード素材+ストップモーション+字幕と音声」の汎用的な製造方法を記述します。都市、日付、キャラクター、ランドマーク、乗り物、プロット、効果音はすべて、ユーザーの現在のブリーフから読み取る必要があり、特定のプロジェクトにハードコードしてはいけません。

最終成果物には、再実行可能な HyperFrames ソースプロジェクト、実際のローカル素材、オーディオ、MP4 エクスポート、および最終フレーム抽出チェック画像を含める必要があります。未レンダリングの HTML プレビューは完成品とは見なされません。

まずテーマ変数を明確にする

コードを書く前に、ユーザーの要件から以下を抽出して記録します:

  • テーマを一文で:誰がどの世界で何を達成するか;
  • 時間、場所、時代、ランドマーク、または世界観;
  • キャラクターの数、外見、服装、小道具、アクション;
  • ビジュアル素材:粘土、段ボール、布、木、金属、またはその他の手作り質感;
  • 色のソースとオープニング/クロージングの言語;
  • 長さ、アスペクト比、プラットフォーム、字幕、音声要件。

ユーザーがリファレンス動画のみを提供した場合、まずその素材、カットのテンポ、構図、字幕、音声を分析し、その後テーマ変数を DESIGN.md に書き込みます。リファレンス動画は手法と雰囲気を提供しますが、新しい動画のストーリーを自動的に決定することはありません。

標準ワークフロー

  1. リファレンスを分析し仮説を書く。 長さ、アスペクト比、カットのテンポ、ストップモーションの停止、素材、字幕の位置、音楽、イベント効果音を記録します。確認できない内容は仮説として書き、事実として偽装してはいけません。
  2. 最初にデザインドキュメントを書く。 DESIGN.md、STORYBOARD.md、および素材リストを作成します。テーマカラー、素材、フォント、カットのタイミング、字幕、オーディオのキュー、エンドクレジットのテキストを定義します。
  3. レイヤード素材を生成する。 背景、キャラクター、小道具、ランドマーク、テクスチャ、ローカルエフェクトをローカルの PNG/JPG/WAV として保存します。キャラクターと前景の小道具は透明 PNG を優先し、カメラ位置、照明、スケール、素材の一貫性を保ちます。
  4. 素材帰属監査を行う。 各キャラクター/小道具 PNG を開き、そこにすでに含まれているバッグ、カップ、カード、帽子、影などのオブジェクトをリストします。各可視オブジェクトは、キャラクター PNG、独立した素材レイヤー、または HTML/CSS のいずれか1つのソースのみを持つ必要があります。キャラクター PNG にすでに描画されているオブジェクトに、簡略化された CSS バージョンのレイヤーを追加してはいけません。詳細は references/compositing-audit.md を参照してください。
  5. 最初に静的画面を完成させる。 ルートエントリには index.html を使用します。縦画面が必要な場合は、compositions/ に独立したコンポジションを配置します。各カットを静的な状態で成立させてから、動きを追加します。
  6. 決定論的なストップモーションを追加する。 GSAP の一時停止タイムライン、シーンの開始/終了時間、および限られた回数の steps(n) を使用します。小さな平行移動、スケーリング、回転、震え、停止を使用して、手作りのストップモーション感を表現します。Math.random()、Date.now()、repeat: -1、および互いに上書きする CSS/GSAP transform は禁止です。
  7. 字幕とエンドクレジットを追加する。 字幕は HTML レイヤーであり、異なるアスペクト比でも読みやすいことを保証します。エンドクレジットにはユーザーが必要とする正式なテキストのみを配置し、preview、draft、test、Codex、または内部プロンプトを禁止します。
  8. レイヤード音声を追加する。 音楽とイベント効果音はそれぞれローカルオーディオとして使用します。各 <audio> には data-start、data-duration、data-track-index、data-volume、フェードイン/アウトを明確に記述します。ネストされた縦画面コンポジションの非ゼロ開始キューには data-hf-media-start-basis="local" を追加します。プレースホルダーオーディオは下書きにのみ使用でき、最終タイムラインに混入してはいけません。ホワイトノイズを波、風、炎などの自然環境音に直接代用してはいけません。適切な素材がない場合は空白にするか、音の密度を下げます。納品前に references/audio-layout.md に従って各トラックとミックスを個別にチェックします。
  9. プラットフォームに合わせて再構図する。 縦画面は横画面を単に切り抜いてはいけません。data-width="1080" data-height="1920" を設定し、テーマの主体、主要なランドマーク、字幕を保持し、テキストを中央安全ゾーンに配置し、キャラクターと小道具を再配置します。詳細は references/vertical-export.md を参照してください。
  10. レンダリング、フレーム抽出、およびレビュー。 lint、validate、レンダリング、ffprobe、およびコンタクトシートを実行します。アスペクト比、長さ、字幕、素材の階層、重複オブジェクト、ドリフトする四角形、末尾の内部マーカー、H.264 ビデオ、AAC オーディオをチェックします。個別トラックと完成ミックスについて、実際に冒頭 0~5 秒、主要なトランジション、および末尾を聴取します。ffprobe とレベルチェックは聴感チェックの代わりにはなりません。詳細は references/workflow.md と references/audio-layout.md を参照してください。

汎用プロジェクト規約

  • 1つのルート index.html を維持します。代替アスペクト比は compositions/ に配置し、HyperFrames が複数のルートエントリを検出しないようにします。
  • 実際のランドマークやテーマの主体には実際のラスタ素材を使用します。CSS ジオメトリ図形は一時的なレイアウトにのみ使用でき、最終的なビジュアルアセットとして使用してはいけません。
  • テーマコンテンツはブリーフによって決定され、スキル内に都市、路線、日付、職業、または固定キャラクターを事前に設定してはいけません。
  • 各小道具は素材リストで「PNG に内蔵」または「独立レイヤー」として明記する必要があります。内蔵小道具の場合は、同じセマンティクスの CSS レイヤーを描画してはいけません。
  • 環境小道具が必要な場合は、改札、ストーブ、ドア、列車、雨粒など、明確な ID とコメントを使用し、環境オブジェクトがキャラクターに貼り付いたマークのように見えないようにします。
  • 実際の企業ロゴ、個人情報、または無許可の音楽は使用しません。汎用看板、生成テクスチャ、ローカル決定論的オーディオを優先します。

検証コマンド

npm install
npx hyperframes lint
npx hyperframes lint compositions/vertical.html
npx hyperframes validate --no-contrast
npm run render
npm run render:vertical

縦画面エクスポート後、実際のプロジェクトの ffprobe-static を使用してチェックします:

FFPROBE=$(node --input-type=module -e "import p from 'ffprobe-static'; console.log(typeof p === 'string' ? p : p.path)")
python3 scripts/check_render.py outputs/final-vertical.mp4 \
  --ffprobe "$FFPROBE" --width 1080 --height 1920 --max-duration 60

最終コンタクトシートには、少なくともオープニング、メインアクション、トランジション、クライマックス/結果、およびエンディングを含める必要があります。レンダリング成功は視覚的正しさを意味しません。説明できない白、茶、青、灰色の四角形、重複するランドマーク、重複する小道具、ドリフトするオブジェクト、または内部プレビュー文字が現れた場合は、素材帰属監査に戻って再処理する必要があります。

サポートドキュメント

  • references/workflow.md:汎用ブリーフ、素材リスト、カット構造、および承認基準。
  • references/compositing-audit.md:内蔵小道具の帰属、重複レイヤー、およびビジュアルアーティファクトのチェック。
  • references/vertical-export.md:9:16 安全ゾーンと再構図ルール。
  • references/audio-layout.md:汎用音楽/効果音のレイアウトとラウドネスチェック。

関連スキル