# Stitch::generate Design > Genera pantallas nuevas desde texto o imágenes, edita pantallas existentes con prompts y tokens de diseño, y crea variantes usando Stitch MCP. Fuente: https://skillsagentes.com/skills/google-labs-code/stitch-skills/stitch-generate-design Markdown: https://skillsagentes.com/skills/google-labs-code/stitch-skills/stitch-generate-design.md Repositorio: https://github.com/google-labs-code/stitch-skills Autor: google-labs-code Licencia: Apache-2.0 Actualizado: hace 4 meses Coste de contexto: 72 tok instalada, 2.7k tok al activarse, 4.5k tok con todos los archivos del bundle Bundle: 4 archivos, 17 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 generate-design --agent claude-code # Cursor npx -y skills add google-labs-code/stitch-skills --skill generate-design --agent cursor # Codex npx -y skills add google-labs-code/stitch-skills --skill generate-design --agent codex # Gemini CLI npx -y skills add google-labs-code/stitch-skills --skill generate-design --agent gemini # Windsurf npx -y skills add google-labs-code/stitch-skills --skill generate-design --agent windsurf # Cline npx -y skills add google-labs-code/stitch-skills --skill generate-design --agent cline ``` ## Qué hace - Genera pantallas nuevas a partir de texto o imágenes usando Stitch MCP - Mejora los prompts del usuario con terminología profesional de UI/UX antes de generar - Edita pantallas existentes con prompts dirigidos y tokens de sistema de diseño - Genera variantes de layout, color o contenido de una pantalla existente - Descarga los assets HTML y capturas generados a `.stitch/designs` ## Cuándo usarla - El usuario quiere crear una pantalla a partir de una descripción de texto - El usuario proporciona una imagen, captura o mockup para recrear - El usuario quiere modificar una pantalla existente - El usuario quiere explorar variaciones de layout, color o contenido ## Qué la activa - "Genera una pantalla de dashboard con sidebar y tabla de datos" - "Recrea este mockup como una pantalla en Stitch" - "Cambia el color del botón principal a #004080" - "Genera 3 variantes de esta pantalla explorando layout y paleta de colores" ## Antes de instalar - Requiere Stitch MCP y, para nuevas pantallas con estilo, un sistema de diseño creado con la skill manage-design-system. - runs shell commands - writes to your files ## Archivos - SKILL.md — 11 KB - examples/enhanced-prompt.md — 2 KB - references/design-mappings.md — 2 KB - references/prompt-keywords.md — 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. # Generate Design Create new design screens from text descriptions, images, or mockups, edit existing screens with prompts and design system tokens, and generate design variants using Stitch MCP. > [!NOTE] > Refer to your system prompt for instruction on handling MCP tool prefixes for > all tools mentioned in this skill (e.g., `list_projects`, > `generate_screen_from_text`, `edit_screens`). ## 🎨 Prompt Enhancement Pipeline Before calling any Stitch generation or editing tool, you MUST enhance the user's prompt. ### 1. Analyze Context - **Project**: Use `list_projects` to find the correct `projectId`. If no suitable project exists, create one using `create_project`. - **Design System**: Check if a design system exists for the project via `list_design_systems`. If one exists, design tokens (colors, fonts, roundness) are already applied at the project level — do NOT include any color, font, or theme instructions in the generation prompt. If none exists, delegate to the **manage-design-system** skill first before generating screens. ### 2. Refine UI/UX Terminology Consult [Design Mappings](references/design-mappings.md) to replace vague terms. - Vague: "Make a nice header" - Professional: "Sticky navigation bar with glassmorphism effect and centered logo" Use [Prompting Keywords](references/prompt-keywords.md) for component names, adjective palettes, color roles, and shape descriptions. ### 3. Structure the Final Prompt Format the enhanced prompt for Stitch. Focus exclusively on **layout, content, and structure** — never include colors, fonts, or theme instructions (these are handled by the manage-design-system skill at the project level). For **new screens**, use this template: ```markdown [Overall purpose and user intent of the page] **PLATFORM:** [Web/Mobile], [Desktop/Mobile]-first **PAGE STRUCTURE:** 1. **Header:** [Description of navigation and branding] 2. **Hero Section:** [Headline, subtext, and primary CTA] 3. **Primary Content Area:** [Detailed component breakdown] 4. **Footer:** [Links and copyright information] ``` For **edits**, be specific about what to change: - **Location**: "Change the [primary button] in the [hero section]..." - **Visuals**: "...to a darker blue (#004080) and add a subtle shadow." - **Structure**: "Add a secondary button next to the primary one with the text 'Learn More'." > [!CAUTION] > Do NOT include hex codes, font names, color palettes, roundness values, or > any design system tokens in a **generation** prompt. These are applied at the > project level by the manage-design-system skill and will conflict if > duplicated. (For **edit** prompts, hex codes are acceptable for precise > color adjustments.) ### 4. Present AI Insights After any tool call, always surface the `outputComponents` (Text Description and Suggestions) to the user. See [examples/enhanced-prompt.md](examples/enhanced-prompt.md) for a full before/after prompt enhancement example. -------------------------------------------------------------------------------- ## Steps ### Determine the Mode Decide which flow to use based on the user's request: - User wants to create from a text description → **Generate from Text** flow - User provides an image, screenshot, or mockup → **Generate from Image** flow - User wants to modify an existing screen → **Edit** flow - User wants layout/color/content variations → **Generate Variants** flow --- ### Generate from Text Flow (New Screen) #### 1. Enhance the User Prompt Apply the Prompt Enhancement Pipeline above. #### 2. Identify the Project Use `list_projects` to find the correct `projectId` if it is not already known. #### 3. Generate the Screen Call the `generate_screen_from_text` tool with the enhanced prompt and the `designSystem` ID (if found in Step 1). ```json { "projectId": "...", "prompt": "[Your Enhanced Prompt]", "designSystem": "assets/...", // Optional: Pass if found in Step 1 "deviceType": "DESKTOP" // Options: MOBILE, DESKTOP, TABLET } ``` #### 4. Present AI Feedback Always show the text description and suggestions from `outputComponents` to the user. #### 5. Download Design Assets After generation, download the HTML and screenshot urls from `outputComponents` to the `.stitch/designs` directory. - **Naming**: Use the screen ID or a descriptive slug for the filename. - **Tools**: Use `curl -o` via `run_command` or similar. - **Directory**: Ensure `.stitch/designs` exists. #### 6. Review and Refine - If the result is not exactly as expected, continue with the **Edit** flow to make targeted adjustments. - Do NOT re-generate from scratch unless the fundamental layout is wrong. --- ### Generate from Image Flow (Image/Mockup → Design) Use this flow when the user provides an image, screenshot, or design mockup to recreate in Stitch. #### 1. Identify the Project Use `list_projects` to find the correct `projectId`. If no suitable project exists, create one using `create_project`. #### 2. Upload the Image Delegate to the **upload-to-stitch** skill to upload the image to the project. This creates a new screen with the image as its content. #### 3. Refine with Edit Once uploaded, use `list_screens` to find the newly created `screenId`, then call `edit_screens` with a descriptive prompt to refine the design: ```json { "projectId": "...", "selectedScreenIds": [""], "prompt": "[Describe what to adjust, enhance, or recreate from this mockup]" } ``` > [!TIP] > For best results, describe the intent behind the image rather than just saying > "make it look like this". For example: "This is a dashboard mockup — recreate > it with a proper data table, sidebar navigation, and chart widgets." #### 4. Present AI Feedback Always show the text description and suggestions from `outputComponents` to the user. #### 5. Download Design Assets Download the HTML and screenshot urls from `outputComponents` to the `.stitch/designs` directory. - **Naming**: Use the screen ID or a descriptive slug for the filename. - **Tools**: Use `curl -o` via `run_command` or similar. - **Directory**: Ensure `.stitch/designs` exists. --- ### Edit Flow (Modify Existing Screen) #### 1. Identify the Screen Use `list_screens` or `get_screen` to find the correct `projectId` and `screenId`. #### 2. Formulate the Edit Prompt Apply the Prompt Enhancement Pipeline, focusing on specificity: - **Location**: "Change the color of the [primary button] in the [hero section]..." - **Visuals**: "...to a darker blue (#004080) and add a subtle shadow." - **Structure**: "Add a secondary button next to the primary one with the text 'Learn More'." #### 3. Apply the Edit Call the `edit_screens` tool. ```json { "projectId": "...", "selectedScreenIds": ["..."], "prompt": "[Your targeted edit prompt]" } ``` #### 4. Present AI Feedback Always show the text description and suggestions from `outputComponents` to the user. #### 5. Download Design Assets After editing, download the updated HTML and screenshot urls from `outputComponents` to the `.stitch/designs` directory, overwriting previous versions to ensure the local files reflect the latest edits. - **Naming**: Use the screen ID or a descriptive slug for the filename. - **Tools**: Use `curl -o` via `run_command` or similar. - **Directory**: Ensure `.stitch/designs` exists. #### 6. Update Project Metadata After downloading assets, update `.stitch/metadata.json` to reflect any changes (e.g., updated screen titles or new screen IDs from the edit). The metadata file tracks all screens, their device types, and design system info. See the **manage-design-system** skill's `examples/metadata.json` for the format. #### 7. Verify and Repeat - Check the output screen to see if the changes were applied correctly. - If more polish is needed, repeat the edit flow with a new specific prompt. --- ### Generate Variants Flow (Explore Variations) Use this flow when the user wants to explore alternative layouts, color schemes, or content variations of an existing screen. #### 1. Identify the Screen Use `list_screens` or `get_screen` to find the correct `projectId` and `screenId`. #### 2. Configure Variant Options Call the `generate_variants` tool with the appropriate options: ```json { "projectId": "...", "selectedScreenIds": ["..."], "prompt": "[Describe the direction for variants]", "variantOptions": { "variantCount": 3, "creativeRange": "EXPLORE", "aspects": ["LAYOUT", "COLOR_SCHEME"] } } ``` **Variant Options:** - **`variantCount`**: 1–5 variants (default: 3) - **`creativeRange`**: `REFINE` (subtle), `EXPLORE` (balanced), or `REIMAGINE` (radical) - **`aspects`**: Focus on specific dimensions — `LAYOUT`, `COLOR_SCHEME`, `IMAGES`, `TEXT_FONT`, `TEXT_CONTENT`, or leave empty for all #### 3. Present AI Feedback Always show the text description and suggestions from `outputComponents` to the user. #### 4. Download Design Assets Download the variant HTML and screenshot urls from `outputComponents` to the `.stitch/designs` directory. - **Naming**: Use the screen ID or a descriptive slug for the filename. - **Tools**: Use `curl -o` via `run_command` or similar. - **Directory**: Ensure `.stitch/designs` exists. -------------------------------------------------------------------------------- ## 💡 Tips - **Be structural**: Break the page down into header, hero, features, and footer in your prompt. - **Content first**: Describe what each section contains (text, images, CTAs) rather than how it looks. - **Iterative Polish**: Prefer editing for targeted adjustments over full re-generation. - **No theme leakage**: Never put hex codes, font names, or color roles in a generation prompt — the design system handles all visual styling. - **Specify interactions**: Mention hover states, animations, and click behavior rather than visual styling. - **Keep edits focused**: One edit at a time is often better than a long list of changes. - **Reference components**: Use professional terms like "navigation bar", "hero section", "footer", "card grid". - **Precise colors in edits**: Use hex codes for exact color matching when editing existing screens. ## 📚 References - [Design Mappings](references/design-mappings.md) — UI/UX keywords and atmosphere descriptors. - [Prompting Keywords](references/prompt-keywords.md) — Technical terms Stitch understands best. - [Enhanced Prompt Example](examples/enhanced-prompt.md) — Before/after prompt enhancement. ## Dónde encaja - Categoría: [Diseño y UI](https://skillsagentes.com/categorias/diseno-ui.md) — Sistemas de diseño, trabajo con componentes y acabado visual. - Creador: [google-labs-code](https://skillsagentes.com/creators/google-labs-code.md) — 15 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Stitch::react Components](https://skillsagentes.com/skills/google-labs-code/stitch-skills/stitch-react-components.md): 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. - [Stitch::extract Static Html](https://skillsagentes.com/skills/google-labs-code/stitch-skills/stitch-extract-static-html.md): Extrae HTML estático autocontenido de una app web o componentes React, inlineando CSS e imágenes, para capturar una vista o subirla a Stitch. - [Stitch::react Native](https://skillsagentes.com/skills/google-labs-code/stitch-skills/stitch-react-native.md): Convierte diseños HTML de Stitch en componentes React Native, o sincroniza/actualiza componentes nativos existentes según los últimos diseños de Stitch, usando StyleSheet. - [Stitch::code To Design](https://skillsagentes.com/skills/google-labs-code/stitch-skills/stitch-code-to-design.md): Convierte código frontend (Vite, React, Angular, Vue, etc.) en un Stitch Design encadenando extracción de HTML estático, extracción del sistema de diseño y subida de archivos. - [Stitch::upload To Stitch](https://skillsagentes.com/skills/google-labs-code/stitch-skills/stitch-upload-to-stitch.md): Sube assets locales (imágenes, mockups, HTML extraído, markdown de diseño) a un proyecto de Stitch, útil cuando las llamadas MCP fallan o se truncan por límites de tokens en base64. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)