jpskill.com
🛠️ 開発・MCP コミュニティ

clone-website

AIエージェントがウェブサイトを解析し、デザイン要素や構成を抽出し、最新技術のNext.jsで高精度なクローンアプリを自動生成することで、デザインの再現やサイトのリニューアルを効率的に進めるSkill。

📜 元の英語説明(参考)

Clone any website as a pixel-perfect Next.js app using AI agents — automated reconnaissance, design token extraction, component spec generation, parallel building, and visual QA. Use when: reverse-engineering a website design, rebuilding a site in modern tech stack, creating pixel-perfect clones for redesign projects.

🇯🇵 日本人クリエイター向け解説

一言でいうと

AIエージェントがウェブサイトを解析し、デザイン要素や構成を抽出し、最新技術のNext.jsで高精度なクローンアプリを自動生成することで、デザインの再現やサイトのリニューアルを効率的に進めるSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o clone-website.zip https://jpskill.com/download/14754.zip && unzip -o clone-website.zip && rm clone-website.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/14754.zip -OutFile "$d\clone-website.zip"; Expand-Archive "$d\clone-website.zip" -DestinationPath $d -Force; ri "$d\clone-website.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して clone-website.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → clone-website フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

ウェブサイトのクローン

概要

$ARGUMENTS をピクセルパーフェクトな Next.js クローンとしてリバースエンジニアリングし、再構築します。このスキルは、自動偵察のために Chrome MCP を使用し、正確な CSS 値とデザイン トークンを抽出し、コンポーネント仕様を生成し、git ワークツリーで並列ビルダーエージェントをディスパッチし、ビジュアル QA を実行します。抽出と構築は並行して行われます。各セクションは、ビルダーがディスパッチされる前に詳細な仕様ファイルを取得します。

手順

事前準備

  1. Chrome MCP が必要です。 すぐにテストしてください。このスキルはブラウザ自動化なしでは動作しません。
  2. URL とスコープについては TARGET.md をお読みください。URL が $ARGUMENTS と一致しない場合は、更新してください。
  3. ベースプロジェクトがビルドされることを確認します: npm run build。Next.js + shadcn/ui + Tailwind v4 のスキャフォールドが配置されている必要があります。
  4. 出力ディレクトリを作成します: docs/research/docs/research/components/docs/design-references/scripts/

指導原則

  • スピードよりも完全性 — すべてのビルダーは、正確な CSS 値、スクリーンショット、ダウンロードされたアセット、および実際のテキストコンテンツを受け取る必要があります。ビルダーが推測する必要がある場合、抽出は失敗しています。
  • 小さなタスク、完璧な結果 — ビルダープロンプトが約 150 行を超える場合は、セクションをより小さなサブコンポーネントに分割します。
  • 実際のコンテンツ、実際のアセット — 実際のテキスト、画像、ビデオ、SVG を抽出します。レイヤー化されたアセット(背景 + 前景 + オーバーレイ)を確認します。
  • 最初に基礎 — グローバル CSS トークン、TypeScript 型、およびフォントは、コンポーネントの構築前に存在する必要があります。
  • 外観と動作を抽出する — ホバー状態、スクロールトリガー、トランジション、アニメーションタイミングをキャプチャします。静的な CSS だけではありません。
  • 最初にインタラクションモデルを特定する — スクロール駆動 vs クリック駆動 vs 時間駆動。これを間違えると、完全に書き換えることになります。
  • すべての状態を抽出する — 各タブをクリックし、各しきい値を超えてスクロールし、すべての状態の前後の CSS をキャプチャします。
  • 仕様ファイルは真実の源です — 各コンポーネントは、ディスパッチ前に docs/research/components/ に仕様を取得します。
  • ビルドは常にコンパイルする必要があります — 各ビルダーの後で npx tsc --noEmit、各マージの後で npm run build

フェーズ 1: 偵察

Chrome MCP でターゲット URL に移動します。

  1. スクリーンショット — デスクトップ(1440px)およびモバイル(390px)でフルページ、docs/design-references/ に保存。
  2. グローバル抽出 — フォント(ファミリー、太さ、スタイル)、色(計算されたスタイルからのフルパレット)、ファビコン/メタ、グローバル UI パターン(カスタムスクロールバー、スクロールスナップ、Lenis のようなスムーズスクロールライブラリ)。
  3. インタラクションスイープ — ヘッダーの変更、スクロールアニメーション、自動切り替えタブを観察しながら、上から下へゆっくりとスクロールします。次に、すべてのインタラクティブな要素をクリックします。次に、ボタン/カード/リンクの上にマウスを置きます。1440px、768px、390px でテストします。調査結果を docs/research/BEHAVIORS.md に保存します。
  4. ページトポロジー — すべてのセクションを上から下へ、作業名、レイアウトタイプ、z-index レイヤー、インタラクションモデルでマッピングします。docs/research/PAGE_TOPOLOGY.md に保存します。

フェーズ 2: 基礎構築

多くのファイルに触れるため、自分で行ってください(委任しないでください)。

  1. layout.tsx のフォント、globals.css の色/トークンを更新します。
  2. src/types/ に TypeScript インターフェースを作成します。
  3. SVG アイコンを src/components/icons.tsx に抽出します。
  4. Chrome MCP を介してスクリプトを使用して、すべての画像を列挙し、ビデオ、背景画像、次にバッチダウンロードして、すべてのアセットを public/ にダウンロードします。
  5. 検証: npm run build がパスします。

フェーズ 3: コンポーネント仕様とディスパッチ

ページトポロジーの各セクションについて:

  1. 抽出 — セクションのスクリーンショットを撮り、すべての要素の計算された CSS を getComputedStyle() で抽出(Chrome MCP で再帰的なウォータースクリプトを使用)、状態変化をトリガーしてマルチステートスタイルを抽出し、逐語的なテキストコンテンツを抽出し、すべてのアセットを識別します。
  2. 仕様ファイルを作成docs/research/components/<name>.spec.md を作成し、ターゲットファイルパス、インタラクションモデル、DOM 構造、正確な計算されたスタイル、トリガーとトランジションを備えた状態/動作、状態ごとのコンテンツ、アセット、デスクトップ/タブレット/モバイルでのレスポンシブな動作をカバーします。
  3. ビルダーをディスパッチ — 単純なセクションは 1 つのエージェントを取得し、複雑なセクション(3 つ以上のサブコンポーネント)は分割されます。各ビルダーは、完全な仕様インライン、スクリーンショットパス、共有コンポーネントインポート、ターゲットファイルパスを受け取り、npx tsc --noEmit を実行する必要があります。
  4. マージ — ワークツリーブランチをマージし、競合を解決し、各マージ後に npm run build を検証します。

すべてのセクションが構築されるまで、抽出-仕様-ディスパッチ-マージサイクルを続けます。

フェーズ 4: ページアセンブリ

src/app/page.tsx で、すべてのセクションをまとめて配線します。

  • すべてのセクションコンポーネントを視覚的な順序でインポートします
  • ページレベルのレイアウト(スクロールコンテナ、スティッキーポジショニング、z-index レイヤー)を実装します
  • ページレベルの動作(スクロールスナップ、スムーズスクロール、交差オブザーバー)を接続します
  • 検証: npm run build がパスします。

フェーズ 5: ビジュアル QA

  1. 元の画像とクローンを 1440px と 390px で並べてスクリーンショットを撮ります
  2. セクションごとに比較します — 必要に応じて仕様を再確認し、再抽出して、不一致を修正します
  3. すべてのインタラクションをテストします: スクロール、すべてのボタン/タブをクリック、インタラクティブな要素の上にマウスを置きます
  4. この QA パス後にのみ完了を宣言します

例 1: Linear.app ホームページをクローンする

User: /clone-website https://linear.app

このスキルは linear.app に移動し、1440px と 390px でフルページのスクリーンショットを撮り、暗いカラーパレット(#0A0A0B 背景、#5E6AD2 アクセント)、Inter フォントスタック、スムーズスクロール動作を抽出します。6 つのセクション(ナビゲーション、ヒーロー、機能グリッド、ソーシャルプルーフ、CTA、フッター)をマッピングし、正確なデザイントークンで基礎を構築し、並列ビルダーをディスパッチします — セクションごとに個別のワークツリーで。マージ後、ビジュアル QA は機能カードの 2px パディングの違いをキャッチし、自動修正します。

例 2: Stripe 料金ページをクローンする

User: /clone-website https://stripe.com/pricing

このスキルは、料金ページの複雑なインタラクションモデルを識別します: タブ付き料金階層(クリック駆動)、スティッキー比較テーブルヘッダー(スクロール駆動)、および拡張可能な機能行(クリック駆動アコーディオン)。すべての 3 つの料金階層の状態を eac をクリックして抽出します

(原文はここで切り詰められています)

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Clone Website

Overview

Reverse-engineer and rebuild $ARGUMENTS as a pixel-perfect Next.js clone. This skill uses Chrome MCP for automated reconnaissance, extracts exact CSS values and design tokens, generates component specs, dispatches parallel builder agents in git worktrees, and runs visual QA. Extraction and construction happen in parallel — each section gets a detailed spec file before any builder is dispatched.

Instructions

Pre-Flight

  1. Chrome MCP is required. Test it immediately — this skill cannot work without browser automation.
  2. Read TARGET.md for URL and scope. If the URL doesn't match $ARGUMENTS, update it.
  3. Verify the base project builds: npm run build. Next.js + shadcn/ui + Tailwind v4 scaffold must be in place.
  4. Create output directories: docs/research/, docs/research/components/, docs/design-references/, scripts/.

Guiding Principles

  • Completeness over speed — every builder must receive exact CSS values, screenshots, downloaded assets, and real text content. If a builder has to guess, extraction failed.
  • Small tasks, perfect results — if a builder prompt exceeds ~150 lines, break the section into smaller sub-components.
  • Real content, real assets — extract actual text, images, videos, SVGs. Check for layered assets (background + foreground + overlay).
  • Foundation first — global CSS tokens, TypeScript types, and fonts must exist before any component building.
  • Extract appearance AND behavior — capture hover states, scroll triggers, transitions, animation timings. Not just static CSS.
  • Identify interaction model first — scroll-driven vs click-driven vs time-driven. Getting this wrong means a complete rewrite.
  • Extract every state — click each tab, scroll past each threshold, capture before/after CSS for all states.
  • Spec files are the source of truth — every component gets a spec in docs/research/components/ before dispatch.
  • Build must always compilenpx tsc --noEmit after each builder, npm run build after each merge.

Phase 1: Reconnaissance

Navigate to the target URL with Chrome MCP.

  1. Screenshots — full-page at desktop (1440px) and mobile (390px), saved to docs/design-references/.
  2. Global extraction — fonts (families, weights, styles), colors (full palette from computed styles), favicons/meta, global UI patterns (custom scrollbars, scroll-snap, smooth scroll libraries like Lenis).
  3. Interaction sweep — scroll slowly top-to-bottom observing header changes, scroll animations, auto-switching tabs. Then click every interactive element. Then hover over buttons/cards/links. Test at 1440px, 768px, 390px. Save findings to docs/research/BEHAVIORS.md.
  4. Page topology — map every section top-to-bottom with working names, layout type, z-index layers, interaction model. Save to docs/research/PAGE_TOPOLOGY.md.

Phase 2: Foundation Build

Do this yourself (not delegated), since it touches many files:

  1. Update fonts in layout.tsx, colors/tokens in globals.css
  2. Create TypeScript interfaces in src/types/
  3. Extract SVG icons to src/components/icons.tsx
  4. Download all assets to public/ using a script via Chrome MCP to enumerate images, videos, background-images, then batch-download
  5. Verify: npm run build passes

Phase 3: Component Specification & Dispatch

For each section in your page topology:

  1. Extract — screenshot the section, extract computed CSS via getComputedStyle() for every element (use a recursive walker script in Chrome MCP), extract multi-state styles by triggering state changes, extract verbatim text content, identify all assets.
  2. Write spec file — create docs/research/components/<name>.spec.md covering: target file path, interaction model, DOM structure, exact computed styles, states/behaviors with triggers and transitions, per-state content, assets, responsive behavior at desktop/tablet/mobile.
  3. Dispatch builders — simple sections get one agent, complex sections (3+ sub-components) get split. Each builder receives the full spec inline, screenshot path, shared component imports, target file path, and must run npx tsc --noEmit.
  4. Merge — merge worktree branches, resolve conflicts, verify npm run build after each merge.

Continue the extract-spec-dispatch-merge cycle until all sections are built.

Phase 4: Page Assembly

Wire all sections together in src/app/page.tsx:

  • Import all section components in visual order
  • Implement page-level layout (scroll containers, sticky positioning, z-index layers)
  • Connect page-level behaviors (scroll snap, smooth scroll, intersection observers)
  • Verify: npm run build passes

Phase 5: Visual QA

  1. Screenshot original and clone side-by-side at 1440px and 390px
  2. Compare section-by-section — fix discrepancies by re-checking specs and re-extracting if needed
  3. Test all interactions: scroll, click every button/tab, hover over interactive elements
  4. Only declare complete after this QA pass

Examples

Example 1: Clone Linear.app Homepage

User: /clone-website https://linear.app

The skill navigates to linear.app, takes full-page screenshots at 1440px and 390px, extracts the dark color palette (#0A0A0B background, #5E6AD2 accent), Inter font stack, and smooth scroll behavior. It maps 6 sections (nav, hero, features grid, social proof, CTA, footer), builds the foundation with exact design tokens, then dispatches parallel builders — one per section in separate worktrees. After merging, visual QA catches a 2px padding difference in the feature cards and auto-corrects it.

Example 2: Clone Stripe Pricing Page

User: /clone-website https://stripe.com/pricing

The skill identifies the pricing page's complex interaction model: tabbed pricing tiers (click-driven), a sticky comparison table header (scroll-driven), and expandable feature rows (click-driven accordions). It extracts all 3 pricing tier states by clicking each tab, captures the sticky header's before/after scroll styles, and documents each accordion's open/close transitions. The comparison table gets split into sub-components (header, row group, expandable row) with separate specs and builders.

Guidelines

  • Respect copyright — clone for inspiration and learning, not to steal brands. Always customize before going live.
  • Don't build click-based tabs when the original is scroll-driven (or vice versa). Scroll first, then click to determine the interaction model.
  • Don't extract only the default state. Click every tab, scroll past every threshold, capture all states.
  • Don't miss layered images. Check every container's DOM tree for multiple <img> elements and positioned overlays.
  • Don't approximate CSS. "Looks like text-lg" is wrong if computed value differs. Extract exact values.
  • Don't skip responsive extraction. Always test at 1440px, 768px, and 390px during extraction.
  • Don't dispatch builders without a spec file. The spec forces exhaustive extraction and creates an auditable artifact.
  • Complex animations (WebGL, Three.js, Lottie) may need simplification or manual recreation.
  • Check for smooth scroll libraries (Lenis, Locomotive Scroll) — default browser scrolling feels noticeably different.