# Stitch::react Components > Convierte diseños de Stitch en componentes modulares de Vite y React, o sincroniza/actualiza componentes React existentes con los últimos diseños de Stitch, usando red a nivel de sistema y validación basada en AST. Fuente: https://skillsagentes.com/skills/google-labs-code/stitch-skills/stitch-react-components Markdown: https://skillsagentes.com/skills/google-labs-code/stitch-skills/stitch-react-components.md Repositorio: https://github.com/google-labs-code/stitch-skills Autor: google-labs-code Licencia: Apache-2.0 Actualizado: hace 2 meses Coste de contexto: 51 tok instalada, 2.2k tok al activarse, 6.7k tok con todos los archivos del bundle Bundle: 11 archivos, 26 KB Permisos que pide: stitch*:*, bash, read, write, web_fetch ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add google-labs-code/stitch-skills --skill react-components --agent claude-code # Cursor npx -y skills add google-labs-code/stitch-skills --skill react-components --agent cursor # Codex npx -y skills add google-labs-code/stitch-skills --skill react-components --agent codex # Gemini CLI npx -y skills add google-labs-code/stitch-skills --skill react-components --agent gemini # Windsurf npx -y skills add google-labs-code/stitch-skills --skill react-components --agent windsurf # Cline npx -y skills add google-labs-code/stitch-skills --skill react-components --agent cline ``` ## Qué hace - Descarga screens de Stitch vía MCP y `scripts/fetch-stitch.sh`, con auditoría visual obligatoria - Extrae tokens de `tailwind.config` y sincroniza `resources/style-guide.json` - Genera componentes React modulares con hooks propios, `mockData.ts` y interfaces `Props` con TypeScript - Convierte enlaces `href="#"` de Stitch en rutas reales con React Router `` - Ejecuta `npm run validate` y `tsc --noEmit` para verificar la arquitectura y el tipado (con permiso del usuario) ## Cuándo usarla - Convertir un diseño de Stitch en componentes Vite/React modulares - Sincronizar o actualizar componentes React existentes para que coincidan con los últimos diseños de Stitch ## Qué la activa - "Convierte este diseño de Stitch en componentes React" - "Sincroniza mis componentes React con el último diseño de Stitch" - "Actualiza la app para que use los nuevos screens de Stitch" ## Antes de instalar - Requiere acceso al MCP de Stitch (prefijo detectado con `list_tools`), Node/npm instalados y el script `scripts/fetch-stitch.sh`. - Necesita en el PATH: curl - Variables de entorno: OUTPUT - runs shell commands - writes to your files - makes network requests - reads environment config ## Archivos - README.md — 1 KB - SKILL.md — 9 KB - examples/gold-standard-card.tsx — 2 KB - package-lock.json — 7 KB - package.json — 355 B - resources/architecture-checklist.md — 613 B - resources/component-template.tsx — 1 KB - resources/stitch-api-reference.md — 1 KB - resources/style-guide.json — 496 B - scripts/fetch-stitch.sh — 1009 B - scripts/validate.js — 3 KB ## SKILL.md Reproducido tal cual desde google-labs-code/stitch-skills bajo Apache-2.0. Esta sección es el documento original y está en inglés. # Stitch to React Components You are a frontend engineer focused on transforming designs into clean React code or syncing/updating existing React components to align with the latest Stitch designs. You follow a modular approach and use automated tools to ensure code quality. > **CRITICAL: Every step in this skill is MANDATORY. Do NOT skip any step or take shortcuts. Each section contains a GATE that must be satisfied before proceeding.** ## Phase 1: Retrieval and networking > **GATE: Phase 1 is complete ONLY when all screens have been downloaded via `scripts/fetch-stitch.sh` AND visually audited. Reading local files directly without going through this phase is PROHIBITED.** 1. **Namespace discovery**: Run `list_tools` to find the Stitch MCP prefix. Use this prefix (e.g., `stitch:`) for all subsequent calls. 2. **Metadata fetch**: Call `[prefix]:get_screen` for **EVERY screen** in the project to retrieve the design JSON with download URLs. Do NOT skip any screen. 3. **Check for existing designs**: Before downloading, check if `.stitch/designs/{page}.html` and `.stitch/designs/{page}.png` already exist: - **If files exist**: Ask the user whether to refresh the designs from the Stitch project using the MCP, or reuse the existing local files. **You MUST ask — do not assume.** Only re-download if the user confirms. - **If files do not exist**: Proceed to step 4. 4. **High-reliability download**: Internal AI fetch tools can fail on Google Cloud Storage domains. You MUST use the provided script. - **HTML**: `bash scripts/fetch-stitch.sh "[htmlCode.downloadUrl]" ".stitch/designs/{page}.html"` - **Screenshot**: Append `=w{width}` to the screenshot URL first, where `{width}` is the `width` value from the screen metadata (Google CDN serves low-res thumbnails by default). Then run: `bash scripts/fetch-stitch.sh "[screenshot.downloadUrl]=w{width}" ".stitch/designs/{page}.png"` - This script handles the necessary redirects and security handshakes. 5. **Visual audit**: Review the downloaded screenshot (`.stitch/designs/{page}.png`) to confirm design intent and layout details. **You MUST view each screenshot** — do not proceed based on assumptions about the design. 6. **Project metadata tracking**: Retrieve project configuration using `[prefix]:get_project` and save it to `.stitch/metadata.json` (inside the app folder, and mirrored in the workspace root). Ensure it has: - `projectId`, `title`, `deviceType` - A `Last Sync Time` field matching the current sync ISO execution time - A `screens` map detailing each screen's ID, label, sourceScreen reference, dimensions, and canvasPosition. ### Anti-patterns for Phase 1 - ❌ Reading `.stitch/designs/*.html` directly without calling MCP `get_screen` first. - ❌ Skipping the `fetch-stitch.sh` download script. - ❌ Not asking the user when existing files are found. - ❌ Skipping the visual audit of `.png` screenshots. - ❌ Failing to generate or update `.stitch/metadata.json` and its `Last Sync Time` field upon syncing. ## Phase 2: Style extraction > **GATE: Phase 2 is complete ONLY when `resources/style-guide.json` has been updated with tokens extracted from the current project's HTML ``. Tokens from a previous project are NOT acceptable.** 1. **Extract `tailwind.config`**: Open each downloaded HTML file and locate the `tailwind.config` object in the `` `