Discusión

Generador de Documentos de Entrega de Diseño AI-First

De Wikiprompt, la enciclopedia libre de prompts

Nureddin Gökbey İnaç

13 mar 2026

Generador de Documentos de Entrega de Diseño AI-First Un mensaje de sistema que genera un documento de entrega de diseño completo y analizable por máquina para agentes de codificación de IA, que cubre mapas de implementación, especificaciones globales, contratos de componentes, flujos de interacción, reglas responsivas, casos límite y listas de verificación.

Contenido del PromptGuardar

🌐
INSTRUCCIONES PARA EL AGENTE DE IMPLEMENTACIÓN DE IA: 1. Lea este documento completo antes de escribir cualquier código. 2. Implemente en el orden especificado en la SECCIÓN 1 (Mapa de Implementación). 3. Consulte CLAUDE.md para los valores de tokens. Si un token referenciado aquí no está en CLAUDE.md, márquelo y use el valor de respaldo proporcionado. 4. Cada valor en este documento es intencional. No sustituya con valores "aproximados". `gap-6` significa `gap-6`, no `gap-5`. 5. Cada estado debe ser implementado. Si un estado no está especificado para un componente, eso es una brecha en la especificación - márquelo, no adivine. 6. Después de implementar cada componente, revise su matriz de estados y verifique que todos los estados funcionen antes de pasar al siguiente componente. 7. Cuando encuentre ambigüedad, prefiera la interpretación más explícita. Si sigue siendo ambiguo, agregue un comentario TODO: "// HANDOFF-AMBIGUITY: [descripción]" --- ### SECCIÓN 1: MAPA DE IMPLEMENTACIÓN Tabla priorizada de todo lo que se debe construir. Los agentes de IA deben implementar en este orden para resolver dependencias correctamente. | Orden | Componente/Sección | Ruta de Archivo | Dependencias | Complejidad | Notas | |-------|-------------------|-----------------|--------------|-------------|-------| | 1 | Configuración de tokens de diseño | `tailwind.config.ts` | Ninguna | Baja | Debe ser primero - todos los demás componentes referencian estos | | 2 | Componentes de tipografía | `src/components/ui/Text.tsx` | Tokens | Baja | Variantes Heading, Body, Caption, Label | | 3 | Botón | `src/components/ui/Button.tsx` | Tokens, Tipografía | Media | 3 variantes × 3 tamaños × 6 estados | | ... | ... | ... | ... | ... | ... | Reglas: - Nada puede referenciar un componente que aparezca más adelante en la tabla - Complejidad = cuántas variantes × estados tiene el componente - Notas = cualquier cosa no obvia sobre la implementación ### SECCIÓN 2: ESPECIFICACIONES GLOBALES Estas aplican en todas partes. El agente de IA debe configurar esto ANTES de construir cualquier componente. #### 2.1 Puntos de interrupción Defina límites de comportamiento exactos: ``` BREAKPOINTS { mobile: 0px - 767px tablet: 768px - 1023px desktop: 1024px - 1279px wide: 1280px - ∞ } ``` Para cada punto de interrupción, indique: Ancho máximo del contenedor y padding, Tamaño de fuente base, Multiplicador de espaciado global (si cambia), Modo de navegación (hamburguesa / horizontal / etc.) #### 2.2 Valores predeterminados de transición ``` TRANSITIONS { default: duration-200 ease-out slow: duration-300 ease-in-out spring: duration-500 cubic-bezier(0.34, 1.56, 0.64, 1) none: duration-0 } REGLA: Cada elemento interactivo usa `default` a menos que este documento especifique lo contrario. REGLA: Las transiciones aplican a: background-color, color, border-color, opacity, transform, box-shadow. Nunca a: width, height, padding, margin (estos causan recálculo de layout). ``` #### 2.3 Escala de Z-Index ``` Z-INDEX { base: 0 dropdown: 10 sticky: 20 overlay: 30 modal: 40 toast: 50 tooltip: 60 } REGLA: Ningún valor de z-index fuera de esta escala. Nunca. ``` #### 2.4 Estilo de enfoque ``` FOCUS { style: ring-2 ring-offset-2 ring-brand-500 aplica-a: cada elemento interactivo (botones, enlaces, inputs, selects, checkboxes) visible: solo en navegación por teclado (use focus-visible, no focus) } ``` ### SECCIÓN 3: ESPECIFICACIONES DE PÁGINA Para cada página, proporcione una especificación de implementación completa. #### Página: ${page_name} **Ruta:** `/exact-route-path` **Layout:** ${which_layout_wrapper_to_use} **Requisitos de datos:** [qué datos necesita esta página, de dónde] ##### Estructura de página (de arriba a abajo) ``` ESTRUCTURA DE PÁGINA: ${page_name} ├── Sección: Hero │ ├── Componente: Heading (h1) │ ├── Componente: Subheading (p) │ ├── Componente: Botón CTA (primary, lg) │ └── Componente: HeroImage ├── Sección: Características │ ├── Componente: SectionHeading (h2) │ └── Componente: FeatureCard × 3 (grid) ├── Sección: Testimonios │ └── Componente: TestimonialSlider └── Sección: CTA ├── Componente: Heading (h2) └── Componente: Botón CTA (primary, lg) ``` ##### Especificaciones sección por sección Para cada sección: **${section_name}** ``` LAYOUT { container: max-w-[1280px] mx-auto px-6 (mobile: px-4) direction: flex-col (mobile) → flex-row (desktop) gap: gap-8 (32px) padding: py-16 (64px) (mobile: py-10) background: bg-white } CONTENIDO { heading { text: "${exact_heading_text_or_content_source}" element: h2 class: text-3xl font-bold text-gray-900 (mobile: text-2xl) max-width: max-w-[640px] } body { text: "${exact_body_text_or_content_source}" class: text-lg text-gray-600 leading-relaxed (mobile: text-base) max-width: max-w-[540px] } } GRID (si aplica) { columns: grid-cols-3 (tablet: grid-cols-2) (mobile: grid-cols-1) gap: gap-6 (24px) items: ${what_component_renders_in_each_cell} alignment: items-start } ANIMACIÓN (si aplica) { type: fade-up al hacer scroll trigger: cuando la sección entra en el viewport (umbral: 0.2) stagger: cada hijo se retrasa 100ms después del anterior duration: duration-500 easing: ease-out runs: una vez (no re-disparar al hacer scroll hacia arriba) } ``` ### SECCIÓN 4: ESPECIFICACIONES DE COMPONENTES Para cada componente, proporcione un contrato de implementación completo. #### Componente: ${componentname} **Archivo:** `src/components/${path}/${componentname}.tsx` **Propósito:** [una oración - qué hace este componente] ##### Interfaz de Props ```typescript interface ${componentname}Props { variant: 'primary' | 'secondary' | 'ghost' // estilo visual size: 'sm' | 'md' | 'lg' // dimensiones disabled?: boolean // predeterminado: false loading?: boolean // predeterminado: false icon?: React.ReactNode // icono opcional al inicio children: React.ReactNode // contenido de la etiqueta onClick?: () => void // manejador de clic } ``` ##### Matriz Variante × Tamaño Defina valores exactos para cada combinación: ``` VARIANTE: primary TAMAÑO: sm height: h-8 (32px) padding: px-3 (12px) font: text-sm font-medium (14px) background: bg-brand-500 (#2563EB) text: text-white (#FFFFFF) border: none border-radius: rounded-md (6px) shadow: none TAMAÑO: md height: h-10 (40px) padding: px-4 (16px) font: text-sm font-medium (14px) background: bg-brand-500 (#2563EB) text: text-white (#FFFFFF) border: none border-radius: rounded-lg (8px) shadow: shadow-sm TAMAÑO: lg height: h-12 (48px) padding: px-6 (24px) font: text-base font-semibold (16px) background: bg-brand-500 (#2563EB) text: text-white (#FFFFFF) border: none border-radius: rounded-lg (8px) shadow: shadow-sm VARIANTE: secondary [misma estructura, valores diferentes] VARIANTE: ghost [misma estructura, valores diferentes] ``` ##### Especificaciones de estado Cada estado debe definirse para cada variante: ``` ESTADOS (aplican a TODAS las variantes a menos que se anulen): hover { background: ${token} - oscurecer un paso desde el predeterminado transform: none (sin escala/traslación en hover) shadow: ${token_o_none} cursor: pointer transition: default (duration-200 ease-out) } active { background: ${token} - oscurecer dos pasos desde el predeterminado transform: scale-[0.98] transition: duration-75 } focus-visible { ring: ring-2 ring-offset-2 ring-brand-500 todo lo demás: igual que el estado predeterminado } disabled { opacity: opacity-50 cursor: not-allowed pointer-events: none TODOS los estados hover/active/focus: no aplican } loading { content: reemplazar children con spinner (16px, animate-spin) width: mantener el mismo ancho que el estado sin loading (prevenir cambio de layout) pointer-events: none opacity: opacity-80 } ``` ##### Comportamiento del icono ``` REGLAS DE ICONO {

Iniciá sesión para ver el prompt completo

Continuar con:

Al iniciar sesión, aceptás nuestros Términos de uso y Política de privacidad

Uso

Este prompt está diseñado para usarse con coding. Copiá el contenido de arriba y pegalo en tu herramienta de IA preferida.

Para mejores resultados, personalizá los marcadores (indicados con corchetes o mayúsculas) con tus requisitos específicos.

Referencias

Categorías:coding| prompts.chat| design-handoff| ai-agent

Discusión