Communitygithub.com

3D Website Factory

コンテンツやアセットのフォルダから3Dウェブサイトを構築するか、既存のウェブサイトを3D化します。5つの役割(偵察、彫刻家、アニメーター、建築家、批評家)からなるパイプラインで、実際の3Dオブジェクト(three.js、ユーザーのロゴやモデル、Spline)と、スタジオ品質のモーショングラフィックスをコードで作成し、ユーザーが要求するインタラクションとともにサイトに組み込みます。

3D Website Factory とは?

3D Website Factoryは、コンテンツフォルダから新しい3Dウェブサイトを構築したり、既存のウェブサイトに3D要素を追加したりするための、完全自動化されたマルチエージェントパイプラインです。Scout(偵察)、Sculptor(彫刻家)、Animator(アニメーター)、Builder(建築家)、Critic(批評家)の5つの専門エージェントが協調して動作し、Scoutがユーザーの要件を収集して計画を立案し、Sculptorがthree.jsモジュールやSplineシーンとして3Dオブジェクトを作成、Animatorがエクスプレーナーループやスクロール連動アニメーションを生成、Builderがそれらを統合し、Criticが品質をチェックします。このパイプラインはClaude Code、Codex、Cursorなどのサブエージェント機能に対応しており、各役割はワークスペース内のファイルを介してのみ通信するため、個別の修正も容易です。ロゴの3D化、カーソル追従、Splineシーンの追加、ビデオ制作など、さまざまな3D関連タスクを自然言語の指示で実行でき、無料のSplineコミュニティシーンや3Dコード生成を活用しながら、有料アセット(AI画像や動画)を使用する際は事前にユーザーの承認を必要とする透明性の高い運用が特徴です。

対応✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/bibeksarkar001/3d-website-factory/tree/HEAD/skills/3d-website-factory

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

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

ドキュメント

3D Website Factory は何をしますか?

S はこのファイルが置かれているフォルダです。必要条件: Chrome、Python 3、Node 22+。フィルムにはffmpegも必要です。

パイプライン

           ┌──> 彫刻家 (3Dオブジェクト) ──┐
偵察 ─────┤                            ├──> 建築家 (統合) ──> 批評家 ──┐
(計画)     └──> アニメーター (モーション) ──┘        ^                   │
   ^ ユーザーが計画を承認                      └──── 修正、最大3ラウンド ┘
役割概要作成物
偵察roles/scout.md計画: 事実、ゴールドスタンダードからのデザインシステム、画面、3Dオブジェクト一覧
彫刻家roles/sculptor.md3Dオブジェクトごとに1つのthree.jsモジュール(またはSplineシーン)
アニメーターroles/animator.md説明用ループ、スクロール連動、出現アニメーション
建築家roles/builder.mdウェブサイト、すべての統合、ユーザーのインタラクションの配線
批評家roles/critic.md10の固定質問に基づく合格/不合格判定と修正指示

各役割はワークスペース内のファイル(_work/<slug>/ 内の計画、sites/<slug>/ 内のコード)を介してのみ対話します。そのため、任意の役割を単独でやり直すことができます(「3Dをより光沢のあるものに」は彫刻家の仕事で、その後建築家と批評家が続きます)。

ロールの実行。 使用しているツールがサブエージェントを起動できる場合(Claude Code、Codex、Cursorなど)、役割ごとに1つのエージェントをこのプロンプトで起動し、彫刻家とアニメーターは同時に実行します:

あなたは3D Website Factoryの<役割>です。<S>/roles/<役割>.md と <S>/references/taste.md を読み、ワークスペース <絶対パス> 内のサイト <slug> に対してあなたの役割を実行してください。スキルフォルダは <S> です。何を作成したか、できなかったことを報告してください。

できない場合は、各役割の概要を開始直前に読みながら、順番に自分で実行してください。いずれにしてもあなたが指揮者です: ユーザーと対話し、各引き継ぎが存在することを確認し、ゲートで停止します。

ユーザーが決定するゲート: 偵察のインタビューとそのサマリー(参考、ルック、ヒーローコンセプト、画面、コスト付きオブジェクト)は、有料作業の前と最後に行います。それ以外はすべてユーザーに問い合わせずに実行します。

進捗。 ビルドには最大1時間かかることがあります。各役割の開始前に、何をしているかを1行でユーザーに伝え(「彫刻家: 粘土のロゴを構築中、無料」)、終了後には何を作成したかを伝えます。

ジョブ

ユーザーの発言ジョブ
"セットアップ"、初回使用、またはワークスペースが存在しないA. セットアップ
"これを作って"、"Xのサイトを構築して"B. ビルド
"私のウェブサイトを3Dにして"、"このサイトに3Dを追加して"C. 既存サイトのアップグレード
"ロボットをカーソルに追従させて"、"3Dを変更して"、ビルド済みサイトへの変更D. 変更
"フィルムを追加して"、"動画を追加して"E. フィルム (references/film.md)

A. セットアップ

sh "$S/scripts/init.sh"        # ./website-factory を作成、上書きはしない

ユーザーに平易な言葉で伝えます: 文章は content/ に、ロゴは assets/logo/(SVGが最適、3D化可能)、画像は assets/images/ に、3Dモデルは assets/models/ に、気に入ったサイトは assets/style/ に。その後「これをウェブサイトとして構築してください」と言います。コンテンツができるか、ユーザーがデモを要求するまではビルドしません。

B. ビルド

content/ 内の各ファイルに対して1つのサイトを作成します(_ で始まる名前と、sites/ にフォルダがすでに存在するファイルは、再構築が要求されない限りスキップします)。slug = ファイル名をケバブケースにしたもの。 フルパイプラインを実行します。最後に sites/<slug>/REPORT.md を作成し、ユーザーに伝えます: 各3Dオブジェクトとモーションの内容、ユーザーが未決定のままにしたすべての選択、コピーの変更(copy.md)、消費したクレジット、批評家の判定、まだ未決定の事項、プレビュー方法: python3 -m http.server 8080 --directory sites/<slug>。 その後、公開を提案します(公開セクション参照)。

C. 既存サイトのアップグレード

ユーザー自身のウェブサイトフォルダ内で実行します。サイトはユーザーのものです: デザインも文章も同じまま。

  1. 偵察がコードをスキャンし、計画を作成します。提案: どのオブジェクトをどこに配置するか、何が動くか、どのファイルが変更されるか。 承認を待ちます。
  2. Gitリポジトリの場合は、ブランチを作成します。変更するファイルは最小限にします。スタイルの変更、文言の変更、並べ替え、依存関係のアップグレードは行いません。
  3. 彫刻家とアニメーターがパーツを作成します。建築家がサイト本来の方法で追加します:
    • プレーンHTML: roles/builder.md の通り。
    • React、Next、Vue、Svelte、Astro: マウント後にボックスをレンダリングしてオブジェクトモジュールをインポートするクライアント専用コンポーネント。stage.js とモジュールはフレームワークが使用する静的フォルダまたはソースフォルダに配置します。プロジェクトがすでにthree.jsやreact-three-fiberを使用している場合は、インポートマップの代わりにそれを使用します。
    • WordPress: 子テーマまたはカスタムHTMLブロック。親テーマやライブサイトでは絶対に使用しません。
  4. ゲート: サイト自身のビルドとテストがまだ通ること。開発サーバーを実行した状態で、変更前に node "$S/scripts/probe.mjs" <url> _work/before、変更後に _work/after を実行します(_work/ はGitの管理対象外にします)。批評家が比較します。check.py はジョブBのページのみ使用します。
  5. 差分とプレビュー方法を表示します。ユーザーが要求しない限り、プッシュやデプロイは絶対に行いません(公開セクション参照)。

D. 変更

変更を所有する役割を見つけ、その役割の部分のみをやり直し、その後建築家のゲートと批評家を実行します。

Splineシーン

Splineシーンは複数の3Dソースのうちの1つです(roles/sculptor.md 参照)。

  • コミュニティシーン(無料、アカウント不要): sh "$S/scripts/browser.sh" embed <コミュニティURL> で埋め込み可能なURLを出力します。Splineのエディタ全体を読み込むため、初回訪問時に約15秒と暗い画面が表示されます。デモには適しています。実際のサイトでは、ユーザーが無料のSplineアカウントで開き、リミックスして、エクスポート > 公開URL を選択し、my.spline.design/... リンクを提供します。このリンクは1〜2秒で読み込まれます。
  • ページ上: <div class="f-3d" data-spline="URL" data-title="説明" style="height:100vh"></div>。factory.js が遅延読み込み、フェードインして、ビューアのボタンを隠すためにオーバーサイズで表示します。
  • シーンの作者のクレジットは、シーンのライセンスが要求する場合のみフッターに追加します。
  • カーソルがシーン上にあるときもページがスクロールできること(probe.mjs がテストします)。できない場合は data-shield を追加します。
  • Splineコネクタ(claude mcp add --transport http spline https://mcp.spline.design/mcp)は新しいシーンを構築できます。1日の呼び出し制限があります: ユーザーが要求した場合のみ使用し、使用した呼び出し回数を伝えます。

アセットと費用

3D、画像、フィルムの入手先、使用するプロバイダー(HiggsfieldコネクタまたはCLI、他の接続済みジェネレーター、または無料の手動ルート)、および有料生成のルール: references/assets.md。

公開

ユーザーが要求した場合のみ行います。接続済みのものを使用します: ホスティングコネクタ(Hostinger、Netlify、Vercelなどはデプロイツールを公開)、またはGitHub Pages用のGitHub CLI、もしくはユーザーにアップロードするフォルダを伝えます。最初のデプロイ前にターゲット(ドメインまたはリポジトリ)を確認します。その後は、要求された場合のみ変更を再デプロイします。

常に保持するルール

  • 費用。 コードで構築された3D、Splineコミュニティシーン、モーションは無料です。有料のもの(AI画像、動画、3D、Splineプラン)には、この会話内で見積もったコストに対するユーザーの承諾が必要であり、毎回必要です。最初に1画面だけパイロットします。
  • 真実。 ユーザーの事実のみ。架空の数字、価格、顧客、引用、賞、ロゴは決して作成しません。
  • センス。 references/taste.md のスロップリストからのものは一切使用しません。
  • アクセシビリティ。 prefers-reduced-motion には完成した静止ページを提供します。画像にはaltテキストを付けます。テキストは読みやすいコントラストを保ちます。
  • 他人の作品。 参考サイトの文章、画像、コードを決してコピーしません。アセットのライセンスが要求するクレジットを保持し、それ以外のクレジットは追加しません。
  • クリーンアップ。 起動したすべてのサーバーとブラウザを停止します。

関連スキル