Habilidad de clonación 1:1 de sitios web — Habilidad maestra de clonación de todo el sitio y catálogo completo de productos a nivel de píxel
Posicionamiento: Concentra "captura forense de DOM/CSS + penetración real de Akamai/Cloudflare + rastreo de productos de todas las categorías con almacenamiento local + reconstrucción de tienda interactiva 1:1 + auditoría automática de diseño, SEO y QA visual multivista" en una sola habilidad cerrada definitiva de clonación de sitios web 1:1.
I. Arquitectura de integración de habilidades (6 capacidades subyacentes en una)
Esta habilidad fusiona las capacidades principales de las siguientes 6 habilidades locales y de GitHub, resolviendo los puntos débiles que una sola habilidad no puede abordar: "penetración en sitios con alta protección", "extracción de imágenes originales con carga diferida", "inserción masiva de productos de todas las categorías" y "restauración interactiva estática/dinámica a nivel de píxel":
| Módulo Fuente | Responsabilidad Principal | Fase de Consolidación en esta Habilidad |
|---|---|---|
1. Jane-xiaoer/claude-skill-web-clone | Flujo de trabajo forense de 5 fases, mapeo de árbol semántico DOM, restauración visual a nivel de bloque 1:1 | Fase 1 (levantamiento de bloques DOM) y Fase 7 (comparación de capturas de pantalla en múltiples posiciones de desplazamiento) |
2. ericshang98/perfect-web-clone-skill | Extracción precisa de tokens de getComputedStyle del navegador, contrato DESIGN.md, máquina de estados del encabezado fijo | Fase 1 (extracción precisa de CSS) y Fase 4 (síntesis de guía de diseño) |
3. ego-browser (Motor Chromium Real) | Penetración de Akamai (HTTP 403) / Cloudflare, cierre automático de ventanas modales de bloqueo, descarga con page.fetch en el contexto del navegador | Fase 1 ~ Fase 3 (captura en entorno real sin errores 403 y almacenamiento de activos) |
4. renwork-web-create-skill (Modo B v3) | Regla de cero marcadores de posición (Política de cero marcadores de posición), automatización SEO/GEO (sitemap.xml/robots.txt/llms.txt) | Fase 2 (100% activos locales) y Fase 6 (generación SEO/GEO) |
5. wideway-export-site-builder-skill | Vista de catálogo de productos completo (PLP), página de detalle de producto en pantalla dividida (PDP), bolsa de compras, lista de deseos y CMS de carga de productos front-end | Fase 5 (tienda interactiva de productos completa y motor de carga en línea) |
6. layout-typography-auditor | Validación de un solo <h1>, etiquetas interactivas semánticas (eliminar <div onclick>), autocomplete en formularios, auditoría de :focus-visible | Fase 6 (compuerta de calidad de código estático y accesibilidad con 0 errores) |
II. Reglas y líneas rojas (Reglas no negociables)
- Prohibido capturar sitios con alta protección directamente con
curl/urllib: Al encontrar protección Akamai (p. ej.,us.louisvuitton.com), Cloudflare, etc., que devuelva403 Forbidden, se debe extraer el DOM y guardar localmente conpage.fetch(url, { saveAs })a través de una página real deego-browseren todo momento. - Desbloqueo de ventanas modales primero (Modal & Scroll Unlock First): Al abrir el sitio de destino por primera vez, primero se debe detectar y hacer clic para cerrar las ventanas modales de cambio de región (p. ej.,
.lv-modal__container button.lv-modal__close), las superposiciones de cookies o las ventanas de suscripción, y verificar quewindow.scrollTo(0, 500)pueda cambiar realmentewindow.scrollY, para evitar capturar superposiciones semitransparentes de pantalla bloqueada o áreas de carga diferida en blanco. - Extraer imágenes 4K/HD con carga diferida: Para
<picture>dinámico condata-srcseto<noscript><img src="..."></noscript>, se debe escribir un script para analizar primero la URL de origen HD (p. ej.,?wid=2048/?wid=1090). Prohibido capturar marcadores de posición base64 de1x1. - 100% de activos localizados y todos los productos importados: Todos los carteles de la página de inicio, portadas de categorías y todas las imágenes de productos de fondo blanco/gris (PNG/JPG) deben descargarse en
assets/images/yassets/products/localmente. Todos los iconos y logotipos oficiales deben incluirse en línea con el<svg viewBox="...">original. Prohibido usar cualquier URL externa de enlace directo o bibliotecas de imágenes genéricas (Unsplash/Pexels) como reemplazo. - Protección del área de trabajo aislada: Si el área de trabajo actual ya tiene código de negocio existente, el proyecto completo debe construirse en un subdirectorio independiente (p. ej.,
<brand>-clone/). Prohibido sobrescribir archivos existentes en el directorio raíz.
III. Flujo completo estándar de clonación a nivel de píxel en 7 pasos (Canalización de 7 fases)
Fase 1: Reconocimiento forense real y penetración de ventanas modales (scripts/recon_and_harvest.mjs)
- Iniciar TaskSpace de
ego-browser, establecer ventana de escritorio1440×900. - Navegar a la URL de destino, detectar y cerrar automáticamente las ventanas modales de País/Región y los banners de cookies, eliminar el bloqueo de desplazamiento del
body. - Desplazar por secciones para activar la carga diferida de toda la página, extraer:
RECON/original-recon.json&RECON/homepage-blocks.json: título, subtítulo, enlace CTA, número de columnas de la cuadrícula y coordenadas exactas de todas las secciones de la página.RECON/css-spec.json: Extraer el tamaño de fuente exacto, altura de línea, espaciado entre letras, relleno, degradado de fondo y color del borde del encabezado, héroe, títulos de sección, tarjetas de producto y pie de página mediantegetComputedStyle.RECON/svgs.json: Extraer todos los SVG vectoriales originales del sitio (marca de agua de la marca, búsqueda, lista de deseos, bolsa de compras, cerrar, flecha, iconos sociales).
- A lo largo de la altura de la página, con un paso fijo (p. ej.,
0, 720, 1660, 2450, 3150, 3920, 4630, 5400, 6100), usarpage.cdp("Page.captureScreenshot")para capturar imágenes de referencia HD sin ventanas modales enRECON/screenshots/original-clean-{y}.png.
Fase 2: Descarga de activos multimedia HD completos de la página de inicio (assets/images/)
- Analizar todas las imágenes grandes de héroe, imágenes de cuadrícula de categorías, PNG transparentes de productos recomendados e imágenes verticales de la historia de la marca en la página de inicio.
- Dentro de
ego-browser, llamar apage.fetch(url, { saveAs })para guardar todas las imágenes enassets/images/, verificando que cada archivo tenga un tamaño de bytes> 1KB.
Fase 3: Rastreador de productos de múltiples categorías de todo el sitio y carga masiva (scripts/crawl_all_categories.mjs)
- Extraer todas las URL de categorías principales asociadas con la página de inicio y el menú de navegación (p. ej.,
womens-bags,womens-slg,womens-accessories,womens-shoes,mens-bags,mens-slg,mens-shoes,mens-accessories, series de temporada limitada, etc.). - Visitar secuencialmente cada página de aterrizaje de categoría en
ego-browser, extrayendo automáticamente de cada tarjeta de producto:sku(número de producto único)name(nombre oficial del producto)price&priceValue(precio formateado y valor numérico)category&categoryName(ID de categoría y nombre para mostrar)gender(atribución demográfica)image(URL de la imagen del producto en estudio HD)description/material/dimensions(descripción del proceso y especificaciones)
- Desduplicar entre categorías por
sku, llamar apage.fetchpara descargar todas las imágenes HD de productos aassets/products/prod_<SKU>.png. - Compilar y generar automáticamente la base de datos estructurada de productos:
data/products.json(base de datos JSON estándar)js/products-data.js(variable globalwindow.LV_CATALOG_DATA/window.SITE_CATALOG_DATApara carga de latencia cero en el front-end)
Fase 4: Generación de documentos de guía de diseño (DESIGN.md y NOTES.md)
Consolidar los parámetros visuales recopilados en DESIGN.md:
- Tokens de color: Color de texto principal (p. ej.,
#1a1a1a/#000000), color de texto secundario (#727272), borde claro (#e1e1e1), degradado de fondo de estudio pétreo de tarjeta de producto (linear-gradient(180deg, #efeeec 0%, #f6f5f3 50%, #fbfaf9 100%)). - Escala tipográfica: Pila de fuentes sans-serif personalizada de la marca, H1/H2 (
28px/36pxo24px/32px,letter-spacing: 0.4px), pretítulo (10px/16px,uppercase,letter-spacing: 1px), título y precio del producto (14px/20px). - Diseño y cuadrícula: Altura del encabezado (
88px, relleno izquierdo/derecho48px), cuadrícula de 4 columnas para productos/categorías (grid-template-columns: repeat(4, 1fr),gap: 32px 16px, márgenes izquierdo/derecho64px), cuadrícula de 3 columnas para cultura de marca (repeat(3, 1fr)).
Fase 5: Reconstrucción de página a nivel de píxel 1:1 y tienda de productos con todas las funciones (index.html, css/, js/)
- Reconstrucción visual 1:1 de la página de inicio (
index.html+css/lv-styles.css) :- Construir DOM siguiendo estrictamente el orden de las secciones del sitio original, las relaciones de aspecto (
16:9para imágenes grandes,4:5para tarjetas de productos y categorías) y los SVG en línea. - Implementar la máquina de estados del encabezado fijo: encima del héroe de la primera pantalla, fondo transparente con texto/iconos blancos puros; al desplazarse hacia abajo más allá del umbral (
60px) o al pasar el ratón, cambiar suavemente a fondo blanco puro con texto/iconos negros puros y un borde inferior fino.
- Construir DOM siguiendo estrictamente el orden de las secciones del sitio original, las relaciones de aspecto (
- Tienda de productos completa y motor interactivo (
js/lv-app.js) :- Página de catálogo de productos completo (
#lv-catalog-view): Soporta la visualización con un solo clic de todos los productos cargados (p. ej., 86+ estilos), proporciona una barra de filtro de categorías (píldoras de categoría), ordenación por precio ascendente/descendente y un botón para volver a la página de inicio. - Modal de detalle de producto en pantalla dividida (PDP): Al hacer clic en cualquier producto, muestra un escenario de imagen grande HD a la izquierda, y a la derecha el número SKU, precio, descripción del material del proceso y un botón
Place in Cartpara agregar al carrito. - Cajón de búsqueda en tiempo real (Superposición de búsqueda): Soporta filtrado en tiempo real por nombre de producto, SKU o categoría, mostrando resultados de miniaturas al instante.
- Lista de deseos y bolsa de compras persistentes (Lista de deseos y bolsa de compras): Basado en
localStoragepara persistir el estado de favoritos y agregados al carrito, actualizando en tiempo real la insignia de cantidad en la esquina del encabezado superior. - Panel de administración de carga de productos en línea (
+ Upload ProductCMS Drawer): Soporta completar directamente en la web el nombre del nuevo producto, SKU, precio, categoría, ruta de imagen y descripción, publicándolo instantáneamente en el catálogo de todo el sitio y guardándolo de forma persistente.
- Página de catálogo de productos completo (
Fase 6: Auditoría automática de código estático, diseño, accesibilidad, SEO y GEO (scripts/)
- Ejecutar
python3 scripts/seo_geo_generator.py <project_dir> <base_url>para generar automáticamentesitemap.xml,robots.txtyllms.txtque contengan las URL de todos los productos. - Ejecutar
python3 scripts/layout_typography_auditor.py <project_dir>para realizar la compuerta de calidad estática:- Asegurar que toda la página tenga solo un
<h1>principal; - Asegurar que todos los eventos de clic estén vinculados a
<button>o<a>(o mediante delegación de eventos JS), eliminando<div onclick>no semántico; - Asegurar que todos los campos de entrada de texto tengan el atributo
autocompletey una etiqueta<label>accesible; - Asegurar que todos los controles interactivos tengan un estilo
:focus-visible, logrando0 errores de bloqueo, 0 directrices de interfaz.
- Asegurar que toda la página tenga solo un
Fase 7: QA visual real en múltiples vistas e informe de entrega (scripts/visual_qa_verify.mjs)
- Iniciar un servicio de vista previa HTTP local, usar
ego-browserpara acceder al sitio clonado local. - Forzar la carga de todas las imágenes, verificar que las imágenes de la página de inicio y las imágenes de productos del catálogo completo tengan
loaded === totalybrokenImages.length === 0. - Capturar imágenes de comparación de flujo completo respectivamente en escritorio (
1440×900) y móvil (390×844) (varias posiciones de desplazamiento de la página de inicio, página de catálogo de productos completo, página de detalle de PDP, cajón de CMS de carga, primera pantalla móvil), verificar que en móvilscrollWidth <= innerWidth(sin desbordamiento horizontal). - Cerrar TaskSpace de
ego-browser(await task.finish({ keep: [] })), generarCLONE_REPORT.mdy entregar.
IV. Lista de scripts de automatización complementarios (scripts/)
scripts/recon_and_harvest.mjs: Penetración de ventanas modales en entorno real, extracción de DOM/ComputedStyle/SVG, captura de pantallas de referencia del sitio original por secciones y descargador de imágenes HD de la página de inicio.scripts/crawl_all_categories.mjs: Rastreo recursivo de productos de todas las categorías, desduplicación de SKU entre categorías, descarga local masiva de imágenes de productos HD y compilador deproducts.json/products-data.js.scripts/seo_geo_generator.py: Generación automática desitemap.xml,robots.txtyllms.txtbasada endata/products.json.scripts/layout_typography_auditor.py: Herramienta de auditoría de HTML/CSS semántico, jerarquía de encabezados, accesibilidad de formularios y enfoque con 0 errores.scripts/visual_qa_verify.mjs: Script de montaje automático de servidor local + comparación de capturas de pantalla en múltiples vistas conego-browsery verificación automática de enlaces rotos/desbordamiento.