prompt-landing
Serves as a complete prompt for an AI agent to build a waitlist landing page, covering copywriting, psychology, CRO, design, and anti-patterns.
What this file does
Serves as a complete prompt for an AI agent to build a waitlist landing page, covering copywriting, psychology, CRO, design, and anti-patterns.
When to use it
- You need a detailed brief for an AI to generate a pre-launch waitlist page
- You want a structured prompt that enforces marketing psychology and CRO principles
- You are building a service marketplace and need a lead capture page before the product exists
- You want to avoid generic AI-generated landing pages with clear anti-patterns
Assumes this stack
Eres un experto en marketing digital, copywriting de conversión y diseño frontend senior. Tu trabajo NO es construir una app — es construir una máquina de captura de leads que convenza a la gente de dejar su email antes de que el producto exista.
Esta es una página de WAITLIST PRE-LANZAMIENTO. No hay producto funcional. No hay buscador. No hay perfiles. La ÚNICA métrica que importa es: emails capturados.
Paso 0: Leer skills de marketing (OBLIGATORIO antes de cualquier cosa)
Lee estos archivos COMPLETOS antes de escribir una sola línea de código o copy. Cada uno contiene frameworks que DEBES aplicar:
-
Marketing Psychology — Lee
.agents/skills/marketing-psychology/SKILL.mdcompleto. Aplica estos modelos específicos en la página:- Jobs to Be Done: El copy vende el JOB ("encontrar un gasfiter confiable en 5 min"), no el producto
- Mimetic Desire: Waitlist = exclusividad. "Otros ya se anotaron" genera deseo
- Commitment & Consistency: Micro-compromiso (email) → mayor probabilidad de usar el producto
- Loss Aversion: "No te quedes fuera" > "Únete gratis"
- Goal-Gradient Effect: "Ya estás aquí — solo falta tu email" para acercar al CTA
- Scarcity / Urgency: Acceso anticipado limitado, no fecha falsa
- EAST Framework: Easy (un campo), Attractive (diseño premium), Social (otros se anotan), Timely (pre-lanzamiento)
-
Copywriting — Lee
.agents/skills/copywriting/SKILL.mdcompleto. Aplica:- AIDA como estructura macro de la página: Attention (hero) → Interest (problema) → Desire (solución + visión) → Action (waitlist CTA)
- PAS para la sección del problema: Problem → Agitate → Solution
- Fórmula de CTA: [Verbo de acción] + [Qué obtienen] + [Facilidad]. Ej: "Reserva tu acceso — es gratis"
- Headline con The Promise o The Question: "¿Cansado de buscar al weon correcto para arreglar la casa?" o "El profesional que necesitas, a un click"
- Emotional triggers: Frustración (buscar en redes es un caos), esperanza (un lugar confiable), ease (sin esfuerzo)
- Objection handling cerca del CTA: "Sin spam", "Gratis", "Te avisamos cuando lancemos"
-
Page CRO — Lee
.agents/skills/page-cro/SKILL.mdcompleto. Aplica:- Un solo goal de conversión: email signup. No hay segundo CTA compitiendo
- 5-second test: En 5 seg debe quedar claro QUÉ es datealo y POR QUÉ darles tu email
- CTA visible above the fold Y repetido al final
- Friction mínima: UN solo campo (email). Nada de nombre, teléfono, seleccionar categoría
- Trust signals: No stats inventados, pero sí: "Verificaremos a cada profesional", "Tu email está seguro"
- Visual hierarchy: El email input es EL protagonista visual del hero
-
Content Strategy — Lee
.agents/skills/content-strategy/SKILL.md. Aplica:- Copy orientado a búsquedas reales que haría alguien con el problema: "buscar gasfiter cerca", "encontrar electricista confiable"
- Lenguaje del cliente, no jerga de producto: "profesional" no "proveedor de servicios"
-
AI SEO — Lee
.agents/skills/ai-seo/SKILL.md. Aplica:- Contenido extractable por LLMs: estructura clara, oraciones declarativas sobre qué es datealo
- Schema.org Organization + WebSite
- Meta description que responda la query "¿qué es datealo?"
-
Frontend Design — Lee
.agents/skills/frontend-design/SKILL.md. Aplica anti-AI-slop: sin Inter, sin gradientes genéricos, sin layouts predecibles. -
UI/UX Pro Max — Lee
.agents/skills/ui-ux-pro-max/SKILL.mdy ejecuta:python3 .agents/skills/ui-ux-pro-max/scripts/search.py "waitlist pre-launch landing page service marketplace" --design-system -p "Datealo" -
Web Design Guidelines — Lee
.agents/skills/web-design-guidelines/SKILL.mdy sigue su instrucción de fetch. Aplícalas como checklist al final.
NO empieces a implementar hasta haber leído los 8 skills.
Contexto del producto
Datealo: buscador de profesionales y servicios para el hogar en Chile. Conecta gente que necesita resolver algo (gasfiter, electricista, peluquera, mudanza, limpieza) con profesionales verificados de su zona.
- Nombre: datealo (minúscula). Logo: "datea" (blanco) + "lo" (#3ECBD7) sobre fondo #423ED0
- Tagline: "lo bueno se recomienda"
- Estado: PRE-LANZAMIENTO. No hay producto funcional. Solo waitlist.
- Target Chile: Tono cercano, directo, coloquial pero no vulgar. Se puede tutear.
- Flujo futuro: buscar → explorar resultados → ver perfil → contactar
Objetivo de la página
| Prioridad | Objetivo | Métrica |
|---|---|---|
| 1 (único) | Capturar emails para waitlist | # signups |
| 2 (pasivo) | Posicionar marca en la mente | Tiempo en página |
| 3 (pasivo) | SEO fundacional | Indexación + Schema.org |
Regla CRO #1: TODO en la página debe llevar al input de email. Si una sección no contribuye a que alguien deje su email, no debería existir.
Estructura persuasiva de la página (AIDA)
La página sigue el framework AIDA como estructura macro. Cada sección tiene un job psicológico:
1. HERO — Attention + primer CTA
Job: Captar atención en 3 seg, comunicar qué es datealo, y presentar el email input.
- Headline con The Promise o The Question (copywriting skill)
- Sub-headline que explica en 1 oración qué es datealo
- Tagline "lo bueno se recomienda" como eyebrow text en accent
- Email input prominente — este ES el hero, no un buscador
- Un campo: email
- Botón CTA: fórmula [Verbo] + [Beneficio] + [Ease]. Ej: "Quiero acceso anticipado"
- Micro-copy debajo: "Gratis · Sin spam · Te avisamos cuando lancemos"
- Fondo sólido #423ED0, tipografía expresiva
- NO: buscador, stats inventados, gradientes
2. PROBLEMA — Interest (PAS: Problem + Agitate)
Job: Hacer que el visitante sienta el dolor de buscar profesionales hoy. Generar el "sí, eso me pasa".
- 3-4 situaciones frustrantes reales y reconocibles:
- Pedir recomendaciones en grupos de Facebook/WhatsApp y recibir 50 respuestas contradictorias
- Llamar al "maestro" que nunca llega o cobra el doble
- No saber si un profesional es confiable hasta que ya le pagaste
- Buscar en Google y encontrar páginas amarillas de 2010
- Tono: empático con un toque de humor chileno (sin forzar)
- Psychology: Availability Heuristic (hacer que recuerden la última vez que les pasó), Frustration trigger
- Visual: ilustraciones o iconos que representen el caos, NO stock photos
3. SOLUCIÓN + VISIÓN — Desire (PAS: Solution)
Job: Mostrar cómo será datealo cuando lance. Pintar el futuro deseable.
- Jobs to Be Done: No vendas features, vende outcomes:
- "Busca → Encontra → Contrata. En 5 minutos."
- "Profesionales verificados con reseñas reales de tu barrio"
- "Contacto directo por WhatsApp, sin intermediarios"
- Mostrar 3-4 beneficios como cards o bloques visuales (NO una lista plana):
- Profesionales verificados ✓
- Reseñas reales de vecinos ✓
- Filtro por cercanía (los más cerca de ti) ✓
- Contacto directo (WhatsApp, teléfono) ✓
- Mimetic Desire: Hacer que suene como algo que todos van a querer. "El lugar donde encuentras lo que necesitas" tipo Google Maps pero para oficios
- Visual: Mockup abstracto/estilizado de la futura UI (NO un screenshot funcional — esto es pre-lanzamiento). Puede ser formas geométricas sugiriendo cards de profesionales
4. CATEGORÍAS — Desire (refuerzo)
Job: Hacer tangible la amplitud del servicio. "Esto cubre lo que YO necesito."
- Bento grid irregular con categorías populares:
- Gasfitería, Electricidad, Peluquería/Belleza, Mudanzas, Limpieza, Cerrajería, Pintura, Jardinería
- Una categoría highlighted (más grande, fondo primary)
- Iconos lucide, NO emojis
- Micro-copy: "Y muchos más — estamos sumando profesionales cada día"
- Psychology: Cuando el visitante ve SU necesidad en la lista, se activa el "esto es para mí"
5. PARA PROFESIONALES — Desire (segundo público)
Job: Hablar al profesional que también puede estar visitando. Doble captura.
- PAS mini:
- Problem: "¿Eres profesional y dependes del boca a boca o de publicar en redes?"
- Agitate: "Tus clientes te buscan pero no te encuentran"
- Solution: "Crea tu perfil en datealo y recibe clientes de tu zona"
- Beneficios para profesionales:
- Perfil público con fotos de trabajos
- Reseñas que construyen reputación
- Clientes que llegan solos buscándote
- CTA secundario: "Registra tu interés como profesional" → mismo form de email con un toggle o radio
- Psychology: Loss Aversion ("Cada día sin perfil son clientes que no te encuentran")
6. CTA FINAL — Action
Job: Último empujón. Repetir el CTA de email para los que scrollearon todo.
- Fondo #423ED0 (repite el ritmo visual del hero)
- Headline de cierre fuerte: tipo "No te lo cuenten — datealo" (juego con el nombre)
- Repetir el email input idéntico al hero
- Objection handling: 3 micro-cosas: "✓ Gratis", "✓ Sin spam", "✓ Acceso antes que todos"
- Commitment & Consistency: Ya leyeron toda la página — el micro-compromiso de dejar el email es coherente
- Goal-Gradient: "Ya estás aquí — solo falta tu email"
7. FOOTER — Cierre
- Logo datealo
- "lo bueno se recomienda"
- Links: futuro blog, redes sociales (si hay), contacto
- © 2025 datealo
Paleta de marca
| Rol | Hex | Uso |
|---|---|---|
| Primary | #423ED0 | Hero bg, CTA final bg, botón CTA principal |
| Accent | #3ECBD7 | Highlights, hover, eyebrow text, focus rings, botón CTA |
| Background | #FAFAFA | Fondo general secciones claras |
| Surface | #F3F4F6 | Cards, secciones alternas, bento items |
| Text | #1F2937 | Cuerpo de texto sobre fondo claro |
| Text secondary | #6B7280 | Subtítulos, descripciones, micro-copy |
| Text on primary | #FFFFFF | Sobre fondos #423ED0 |
| Success | #10B981 | Checkmarks, confirmación post-signup |
Configurar como tema DaisyUI custom. No usar temas default.
Tipografía
NO usar: Inter, Roboto, Arial, system fonts genéricos. Elegir combinación con personalidad:
- Headings: Plus Jakarta Sans, Outfit, Satoshi, o Clash Display — algo bold y moderno
- Body: DM Sans, Outfit, o la misma de headings si funciona en ambos pesos
- Body ≥ 16px, line-height 1.6. Headings tracking -0.02em.
Stack
Nuxt 4 + Vue 3 + TypeScript + Tailwind CSS v4 + DaisyUI v5 + lucide-vue-next
Razonamiento previo (OBLIGATORIO)
Antes de escribir cualquier código, razona en voz alta:
- PSICOLOGÍA: ¿Qué modelos mentales de marketing-psychology aplico en cada sección? Lista al menos 5 y dónde van.
- COPY: ¿Cuál es el pain point #1 del público? ¿Qué headline (PAS o AIDA) lo captura mejor? Escribe 3 opciones de headline y elige la mejor justificando.
- CRO: ¿Cómo aseguro que el email input sea lo más prominente de la página? ¿Pasa el 5-second test?
- DISEÑO: ¿Cómo creo ritmo visual sin que parezca un template de Framer? ¿Dónde uso fondo primary, dónde blanco, dónde surface?
- ANTI-PATRONES: Lista 3 decisiones que descartaste y por qué se verían genéricas o de IA.
- ACCESIBILIDAD: ¿#3ECBD7 pasa contraste 4.5:1 sobre blanco? (No — planifica dónde SÍ y dónde NO usarlo como texto).
- EMOCIONES: ¿Qué emoción dominante quiero en cada sección? (Hero: esperanza/curiosidad, Problema: frustración/reconocimiento, Solución: alivio/deseo, CTA: urgencia/FOMO)
Después del razonamiento, implementa.
Ejemplos de calidad esperada vs rechazada
HERO WAITLIST — Rechazado ❌
<!-- Genérico: centrado, sin emoción, buscador que no funciona -->
<section class="bg-gradient-to-r from-purple-600 to-blue-500 text-center py-20">
<span class="badge">⭐ Trusted by 10,000+ users</span>
<h1 class="text-4xl font-bold">Find the best professionals</h1>
<p class="text-lg">Search, compare, and hire top-rated pros near you</p>
<input placeholder="Search for a service..." class="input" />
</section>
Problemas: gradiente genérico, stats inventados, BUSCADOR (no hay producto), inglés, sin emoción, layout predecible, sin copy persuasivo, sin urgencia de waitlist.
HERO WAITLIST — Aceptado ✅
<section class="bg-[#423ED0] min-h-[85vh] relative overflow-hidden">
<div class="max-w-5xl mx-auto px-6 pt-28 pb-20 flex flex-col items-start gap-8">
<p class="text-[#3ECBD7] font-semibold tracking-wide text-sm uppercase">
lo bueno se recomienda
</p>
<h1 class="text-white text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight leading-[1.08] max-w-3xl">
Deja de buscar en grupos de Facebook.<br />
<span class="text-[#3ECBD7]">Encuentra profesionales reales, cerca de ti.</span>
</h1>
<p class="text-white/80 text-lg max-w-xl leading-relaxed">
datealo conecta a personas con profesionales verificados de su zona.
Gasfiter, electricista, peluquera — a un click. Estamos por lanzar.
</p>
<form class="flex flex-col sm:flex-row gap-3 w-full max-w-lg mt-4">
<input
type="email"
required
placeholder="Tu email"
class="flex-1 py-4 px-6 rounded-2xl text-lg bg-white/95 text-gray-800
placeholder:text-gray-400 focus:outline-none focus:ring-2
focus:ring-[#3ECBD7] shadow-xl"
/>
<button
type="submit"
class="bg-[#3ECBD7] text-[#1F2937] font-bold py-4 px-8 rounded-2xl
text-lg hover:bg-[#35b5c0] transition-colors shadow-lg
whitespace-nowrap"
>
Quiero acceso anticipado
</button>
</form>
<p class="text-white/50 text-sm">
Gratis · Sin spam · Te avisamos cuando lancemos
</p>
</div>
</section>
Aciertos: color sólido (no gradiente), copy con dolor real (Facebook groups), headline en español chileno, email input (NO buscador), CTA con verbo + beneficio, micro-copy que maneja objeciones (gratis, sin spam), sin stats inventados, tagline como eyebrow, text-left (no centrado genérico).
SECCIÓN PROBLEMA — Rechazado ❌
<section class="py-16 text-center">
<h2>Why choose us?</h2>
<div class="grid grid-cols-3 gap-4">
<div class="card">✅ Verified professionals</div>
<div class="card">✅ Best prices</div>
<div class="card">✅ Fast service</div>
</div>
</section>
Problemas: NO hay sección de problema. Va directo a solución. Sin empatía. Sin PAS. Inglés. Beneficios genéricos. Checkmarks de marketing vacío.
SECCIÓN PROBLEMA — Aceptado ✅
<section class="bg-[#FAFAFA] py-20 lg:py-28">
<div class="max-w-4xl mx-auto px-6">
<h2 class="text-[#1F2937] text-3xl lg:text-4xl font-bold mb-4">
Buscar un buen profesional hoy es un caos
</h2>
<p class="text-[#6B7280] text-lg mb-12 max-w-2xl">
Todos hemos pasado por esto. Y siempre termina igual.
</p>
<div class="grid sm:grid-cols-2 gap-6">
<div class="bg-white rounded-2xl p-6 shadow-sm border border-gray-100">
<div class="w-12 h-12 bg-red-50 rounded-xl flex items-center justify-center mb-4">
<MessageCircle class="w-6 h-6 text-red-400" />
</div>
<h3 class="font-semibold text-[#1F2937] mb-2">El grupo de WhatsApp</h3>
<p class="text-[#6B7280] text-sm leading-relaxed">
"¿Alguien cacha un gasfiter bueno?" — 47 respuestas, ninguna
confiable, el hilo se perdió entre memes.
</p>
</div>
<div class="bg-white rounded-2xl p-6 shadow-sm border border-gray-100">
<div class="w-12 h-12 bg-amber-50 rounded-xl flex items-center justify-center mb-4">
<Clock class="w-6 h-6 text-amber-400" />
</div>
<h3 class="font-semibold text-[#1F2937] mb-2">El maestro fantasma</h3>
<p class="text-[#6B7280] text-sm leading-relaxed">
Te dice que llega a las 10. A las 12 no contesta.
La próxima semana tampoco.
</p>
</div>
<!-- 2 cards más con situaciones reales -->
</div>
</div>
</section>
Aciertos: PAS en acción (Problem + Agitate), situaciones ultra-reconocibles, lenguaje chileno natural, humor empático sin forzar, iconos lucide (no emojis), cards con personalidad, fondo FAFAFA alternando ritmo.
CTA FINAL — Rechazado ❌
<section class="bg-blue-600 py-16 text-center text-white">
<h2>Ready to get started?</h2>
<button>Sign up now</button>
</section>
CTA FINAL — Aceptado ✅
<section class="bg-[#423ED0] py-20 lg:py-28">
<div class="max-w-3xl mx-auto px-6 text-center">
<h2 class="text-white text-3xl lg:text-4xl font-bold mb-4">
No te lo cuenten — <span class="text-[#3ECBD7]">datealo</span>
</h2>
<p class="text-white/70 text-lg mb-8 max-w-lg mx-auto">
Estamos sumando los mejores profesionales de Chile.
Sé de los primeros en probar la plataforma.
</p>
<!-- Repetir formulario idéntico al hero -->
<form class="flex flex-col sm:flex-row gap-3 max-w-lg mx-auto">
<input type="email" required placeholder="Tu email"
class="flex-1 py-4 px-6 rounded-2xl text-lg bg-white/95
text-gray-800 placeholder:text-gray-400
focus:outline-none focus:ring-2 focus:ring-[#3ECBD7] shadow-xl" />
<button type="submit"
class="bg-[#3ECBD7] text-[#1F2937] font-bold py-4 px-8 rounded-2xl
text-lg hover:bg-[#35b5c0] transition-colors shadow-lg
whitespace-nowrap">
Reservar mi lugar
</button>
</form>
<div class="flex items-center justify-center gap-6 mt-6 text-white/50 text-sm">
<span>✓ Gratis</span>
<span>✓ Sin spam</span>
<span>✓ Acceso antes que todos</span>
</div>
</div>
</section>
Aciertos: Juego de palabras con el nombre de marca, repetición del CTA (CRO), objection handling, Goal-Gradient ("ya estás aquí"), micro-copy con checkmarks de confianza, NO stats inventados.
Anti-patrones (PROHIBIDO)
- NO buscador — no hay producto. El hero es un email input, NO un search bar
- NO stats inventados — no "Únete a 10,000+", no "+500 profesionales", no estrellas de rating inventadas
- NO emojis como iconos — solo lucide-vue-next
- NO gradientes purple-to-blue — primary sólido #423ED0
- NO cards todas iguales — bento, asimetría, tamaños variados
- NO Inter/Roboto/Arial
- NO placeholder images con URLs externas
- NO layout 100% centrado simétrico en TODAS las secciones — variar alineación
- NO padding uniforme — variar ritmo entre secciones
- NO ir directo a "features" sin pasar por el PROBLEMA primero — la estructura es AIDA/PAS, no feature-list
- NO copy en inglés — todo en español chileno
- NO "funcionalidades" inventadas que no existen — vende la VISIÓN, no screenshots de algo que no hay
- NO múltiples CTAs compitiendo — el CTA es UNO: dejar email. El de profesionales es secundario
Directivas de diseño
Lo que SÍ debe tener
- El email input es el héroe — Grande, prominente, above the fold, imposible de ignorar. Es LO MÁS IMPORTANTE de toda la página.
- Personalidad desde el primer scroll — Headline que golpea un pain point real, tipografía expresiva, fondo sólido #423ED0.
- Ritmo visual — Alternar: #423ED0 (hero) → #FAFAFA (problema) → blanco (solución) → #F3F4F6 (categorías) → blanco (profesionales) → #423ED0 (CTA final).
- Espaciado generoso — Padding vertical mínimo 80px desktop, 48px móvil.
- Micro-interacciones — Hover cards scale(1.02) + shadow. Scroll-triggered fade-in con IntersectionObserver. Duración 150-300ms.
- Copy que vende, no que describe — Cada headline debe responder "¿por qué me importa?" desde la perspectiva del visitante.
- Bento grid para categorías — Una categoría destacada más grande, las demás en grid irregular.
- Sección profesionales con PAS mini — Segundo público, segundo angle de captura.
Accesibilidad (obligatorio)
- Contraste mínimo 4.5:1 — #FFFFFF sobre #423ED0 pasa. #3ECBD7 sobre blanco NO pasa para texto pequeño — usar solo decorativo, badges grandes, o sobre fondo oscuro.
- Touch targets ≥ 44x44px
- Focus rings visibles con #3ECBD7
- Semántica: section, h1/h2/h3 jerárquico, nav, main, footer
- aria-label en botones con solo icono
- prefers-reduced-motion para animaciones
- El form de email necesita label (puede ser sr-only) + validación HTML nativa
SEO + AI SEO
- definePageMeta con title: "datealo — Encuentra profesionales verificados cerca de ti" y description que responda "¿qué es datealo?"
- Un solo h1 en toda la página (en el hero)
- Schema.org Organization + WebSite
- Meta tags Open Graph con imagen branded
- Oraciones declarativas extractables por LLMs: "datealo es un buscador de profesionales y servicios para el hogar en Chile"
- Contenido estructurado con headings descriptivos para AI answer engines
Estructura de archivos
app/
├── pages/index.vue # Orquestadora ≤ 60 LOC
├── components/landing/
│ ├── LandingHero.vue # Hero + email input + tagline
│ ├── LandingProblem.vue # Dolor de buscar profesionales (PAS)
│ ├── LandingSolution.vue # Visión de datealo + beneficios
│ ├── LandingCategories.vue # Bento grid de categorías
│ ├── LandingForProfessionals.vue # PAS mini para profesionales
│ └── LandingFinalCta.vue # CTA cierre con email repetido
└── constants/landing.ts # Contenido tipado as const
Cada componente ≤ 200 LOC. Si se pasa, extraer sub-componente.
Email signup
El formulario de email debe:
- Capturar el email en un
useStatereactivo (para reutilizar entre hero y CTA final) - Mostrar estado de éxito inline después del submit: "¡Listo! Te avisaremos cuando lancemos 🎉" (reemplaza el form, no redirect)
- Mostrar estado de error si el email es inválido
- Validación HTML nativa (
type="email" required) + validación visual - El submit NO necesita backend real aún — puede hacer
console.logdel email o guardar en localStorage como placeholder. Implementa el UX completo asumiendo que el backend viene después. - Si quieres, crea un composable
useWaitlist()que maneje el estado: email, loading, submitted, error.
Verificación post-implementación (OBLIGATORIO)
Marketing / CRO
- ¿La página pasa el 5-second test? (¿Se entiende qué es datealo y por qué dar tu email?)
- ¿El email input es lo más prominente del hero?
- ¿NO hay buscador en ninguna parte? (No hay producto)
- ¿Hay sección de PROBLEMA antes de la solución? (PAS)
- ¿La estructura sigue AIDA? (Attention → Interest → Desire → Action)
- ¿El CTA se repite al final de la página?
- ¿Hay solo 1 email input field? (no nombre, no teléfono)
- ¿Hay objection handling cerca de cada CTA? (gratis, sin spam)
- ¿NO hay stats inventados en ningún lugar?
- ¿El copy está en español chileno natural?
Psicología aplicada
- ¿Se aplica Loss Aversion? ("No te quedes fuera" o equivalente)
- ¿Se aplica Jobs to Be Done? (Vende el outcome, no features)
- ¿Se aplica Mimetic Desire / Scarcity? (Waitlist = exclusividad, acceso anticipado)
- ¿Se aplica Goal-Gradient? (Cerca del CTA final)
- ¿Se aplica PAS en la sección de problema?
- ¿Las emociones son coherentes? (Frustración → Alivio → Deseo → Urgencia)
Diseño / Técnico
- ¿La página se ve distinta a un template de Framer/Vercel genérico?
- ¿La tipografía NO es Inter/Roboto/Arial?
- ¿Cada componente ≤ 200 LOC?
- ¿Contraste #FFFFFF sobre #423ED0 pasa 4.5:1?
- ¿#3ECBD7 NO se usa como texto pequeño sobre blanco?
- ¿Touch targets ≥ 44x44px?
- ¿Focus rings visibles?
- ¿Un solo h1 en toda la página?
- ¿Hay prefers-reduced-motion para animaciones?
- ¿definePageMeta con title y description?
- ¿Schema.org Organization + WebSite?
- ¿Estado de éxito post-signup se ve bonito y branded?
Si algún check falla, corrige antes de entregar.
Restricciones técnicas
- NO composables innecesarios — contenido estático
- NO fetch ni API calls
- NO dependencias nuevas
- NO any, NO alert(), NO console.log
- useState() si necesitas estado, no ref()
What's inside
1 prompt with 8 skill references, 7 page sections, 13 anti-patterns, 2 example comparisons, and a verification checklist
Change this for your project
- Replace
PatricioTabilo/datealowith your own repository name - Replace
datealowith your product name throughout - Replace
#423ED0and#3ECBD7with your brand colors - Replace
Chileandchilenowith your target market and language variant
Where it goes
Keep it in your repository where the agent or team that needs it will read it.
Worth borrowing
- Requiring the AI to read multiple skill files before generating ensures consistent application of frameworks
- Including explicit rejected vs accepted examples clarifies quality expectations
- A post-implementation checklist forces verification of both marketing and technical requirements
Related Documents
Product Requirements Document: B2B SaaS Landing Page
Defines 12 page sections, a visual style guide, and technical requirements for a B2B SaaS landing page.
SignKit Complete Marketing & Distribution Strategy
Outlines a 14-month marketing and distribution plan to reach 2,200 customers and $80,000 revenue for a desktop signature extraction app.
📣 Marketing Prompts
Provides eight structured prompt templates for marketing tasks including SEO, ad copy, landing pages, email campaigns, social media, content calendars, brand voice, and customer personas.
UI Preview Guide
Shows ASCII mockups of a landing page, admin dashboard, and login screen for a farming community app, plus design tokens and testing steps.