Communitygithub.com

mahmouddido262-tech/website

既存のWebページを、実際のコンテンツ、アセット、レスポンシブレイアウト、インタラクションを再現した動作するローカルコードに再構築します。Framerサイトやアニメーションページを含む、ウェブサイトのクローン、複製、リバースエンジニアリングに使用します。

website とは?

このスキルは、指定されたWebページをローカル開発環境に正確にクローンするための包括的なワークフローを提供します。ソースページの実際のコンテンツ、アセット、レスポンシブレイアウト、インタラクションを再現し、編集可能なコードを生成することを目的としています。Framerで生成されたサイトや複雑なアニメーションを含むページもサポートします。このスキルは、計画(ルートマッピング、ファイル所有権の明確化)、観察(ブラウザでのインスペクション、状態駆動型変更の特定)、構築(共有コンポーネント、実際のアセット、インタラクションの実装)、比較と修復(ビューポートと状態を合わせたソースとローカルの比較、差異の修正)の4つの主要ステップで構成されています。プロジェクト構造の慣例に従い、ソースのパス名を保持し、既存のルートとの衝突を解決するなど、保守性と拡張性を重視します。最終成果物として、プレビュー手順、ルートマップ、比較画像、未解決のギャップのリストが提供されます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mahmouddido262-tech/website/tree/HEAD/.agents/skills/clone-website

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

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

ドキュメント

ウェブサイトをクローンする

指定されたページを現在のアプリケーション内で再現します。新しいデザインの方向性を追加する前に、ソースを一致させてください。動作する編集可能なコードを提供します:スクリーンショット、iframe、ダウンロードしたプロダクションバンドルはあくまで参考であり、実装ではありません。

1. 作業を計画する

プロジェクトの指示、実際のフレームワーク/スクリプト、既存のルートを読み取ります。利用可能なブラウザでソースURLを開きます。実用的な場合は、直接HTTP、アセットツール、またはAPIを使用した抽出を優先し、ブラウザは外観と動作を確認するために使用します。

短いソースからローカルへのルートマップと、各ページが所有するファイルを記録します。アプリケーションの慣例に従います。このテンプレートでは、src/app/、src/components/sites/<site>/、public/sites/<site>/、docs/research/<site>/を使用します。オリジン、ページ、ダウンロードに明確な名前を付けます。読みやすい名前が衝突する場合は、ポートまたはURLハッシュを追加します。

  • 最初のルートクローンは、手付かずのテンプレートホームページを置き換える場合があります。
  • 1つのオリジンからの複数ページのソースパス名を保持します。クエリ/フラグメントのバリエーションは通常、同じルートの状態を表します。これらの状態を再現します。
  • 既存の作成済みルート/アセットを保持します。要求された場合にのみそれらを更新し、要求されていないルートの衝突は、何かを置き換える前に解決します。
  • 既存のクローンにページを追加する場合、既存のページで使用されているスタイルを置き換えずに、そのレイアウトとグローバルスタイルを拡張します。
  • ユーザーが結合アプリを希望しない限り、異なるオリジンには別々のアプリを使用します。結合サイトには、明確なルートプレフィックスとスコープ指定されたフォント、スタイル、レイアウトが必要です。
  • フレームワークの構文(_、@、括弧、丸括弧)と競合するリテラルURLセグメントは、サポートされているメカニズムを使用してエスケープし、その後、実際の要求されたURLを確認します。

既存のクローンは有用な出発点です。それらを現在のソースと比較し、再利用した内容を記録します。要求されたすべてのURLに宛先があり、ファイルの所有権が明確になった時点で完了です。

2. 構築する前に観察する

デスクトップ幅とモバイル幅の両方でページ全体を検査します。上から下にスクロールして、遅延メディアをロードし、スティッキー/ピン留めされたシーンを表示します。次に、メニュー、タブ、アコーディオン、カルーセル、ホバー状態、主要なリンクを操作します。スクロール、クリック、ホバー、時間のどれによって変更が引き起こされているかを区別します。スクロール駆動セクションのクリック模倣は、異なる成果物です。

各観察をルールの1つのサンプルとして扱います。宣言された値(計算済みスタイル、CSS変数、ライブラリのライブオプション)を1つのレンダリングから推測するのではなく読み取り、ビューポート幅(デザインよりも広い幅を含む)、ビューポート高さ、入力、状態を変化させて、何が各変更を駆動しているかを把握します。訪問者が使用する入力(ホイール、タッチ、キーボード、ポインタ)でページを操作します。スクリプトによるスクロールは、スムーズスクロールなど、それらにアタッチされた動作をバイパスします。

ビューポート、スクロール位置、インタラクション状態でラベル付けされたソーススクリーンショットを保存します。代替状態のコンテンツ/アセットをキャプチャします。セクションの順序、タイポグラフィ、レイアウトの測定値、アセットマッピング、インタラクションなど、1つの簡潔なページブリーフを保持します。独立したビルダーに役立つ場合にのみ、セクションブリーフを追加します。

抽出と状態比較については、インスペクションリファレンスを参照してください。Framerで生成されたページ、スティッキーシーン、リビールアニメーション、またはアニメーションメディアについては、Framerとモーションを参照してください。

ソースの実際のテキストと、実際に読み込まれるファイル(フォント、画像、SVG、ビデオ)を使用します。別のプロバイダーやアイコンセットから同じ名前の代替品を使用すると、メトリクスや形状が異なります。重要なジオメトリ/計算済みスタイルを測定します。ビジュアルをHTMLとして再構築する前に、階層化された画像とメディア要素を検査します。ソースURLからローカルアセットパスへのマッピングを追跡し、コンテンツタイプ/寸法を確認します(.png URLがAVIFを返す場合があります)。

すべてのセクションと意味のある状態について、構築に十分な証拠が揃い、利用できない詳細が特定された時点で完了です。大量のDOMダンプは、ページを実際に見る代わりにはなりません。

3. 完全なファーストパスを構築する

最初にフォント、ページ幅、色、アセット、ルート、ページ全体の動作、共有コンポーネントを確立します。各共有コンポーネントを、観察されたすべての状態(ホバー、フォーカス、ブレークポイント)で構築し、ビルダーがそのまま再利用できるようにします。適切なコンポーネントを再利用します。レイアウト/シンプルなモーションにはCSSを優先し、ソースの動作に必要な場合はアニメーションライブラリを使用します。

実際のコンテンツで一貫性のあるセクションを構築します。共有ファイルに所有者ができた後、独立したページ/セクションを委任します。ビルダーにスクリーンショット、関連する測定値/状態メモ、アセットパス、宛先ファイル、具体的な完了ラインを提供します。正確なファイル参照を含む簡潔なブリーフで十分です。固定のエージェント数やコンポーネントごとの書類は必要ありません。

スコープ内のインタラクションを再現します。実際の外部送信先を保持します。それらのルートが含まれている場合は、リンクをローカルルートに書き換えます。スコープ外の送信先はソースを指すままにし、そのことを開示します。可視のコントロールは、約束された動作を実行しなければなりません。

統合されたスライスの後に、適切なプロジェクトチェックを実行します。要求されたすべてのセクション/ルートが実際のアセットでレンダリングされ、重要なコントロールが機能するようになった時点で、このパスは完了です。

4. 比較、修復、繰り返す

同じビューポート、スクロール位置、状態でソース/ローカルページを開きます。フォント、メディア、リビールアニメーションが落ち着くのを待ちます。ステップ2でルールが変更されていることが判明した場所すべてと、デザインよりも広いビューポートでページ全体を確認します。実際の入力でスクロールとポインタの動作を判断します。横に並べたモンタージュでずれを特定し、全サイズのセクションで詳細を確認します。

最初に最大の視覚的な違い(ジオメトリ、欠落セクション/レイヤー、タイポグラフィ/折り返し、アセットのトリミング、次にスペーシングとモーション)を修正します。影響を受けるビューを再確認します。初期状態、アクティブ状態、静止状態でアニメーション領域を比較します。関連する場合は逆スクロールも含めます。

実際のローカルワークフローを実行します:クローンされたルート間のナビゲーション、モバイルメニュー、タブ/アコーディオンの状態、カルーセルの境界、主要なアクション、メディアコントロール、観察されたスクロールリンクトランジション。ランタイムエラー、欠落アセット、水平方向のオーバーフローを確認します。ページを追加する場合、既存のルートがまだ機能することを確認します。これらの境界で、クラス名に関するアサーションではなく、いくつかのブラウザチェックを使用します。

プロジェクトのプロダクションチェックを実行します。完了には、成功したビルドとレンダリングされた比較の両方が必要です。残りの差異は、「ピクセルパーフェクト」と未確認の結果を呼ぶのではなく、正確に記述します。

成果物

プレビュー/実行手順、ソースからローカルへのルートマップ、代表的なデスクトップ/モバイル比較、実際に実行したチェック、残りの視覚的/機能的なギャップを返します。再利用可能なテンプレートを維持する場合、リファレンスクローンは別々のアプリに保持します。

関連スキル