Communitygithub.com

hubeiqiao/apple-bento-grid

Crea tarjetas de presentación tipo bento grid inspiradas en Apple para mostrar estadísticas, cronogramas y logros del proyecto. Genera archivos HTML independientes con cuadrículas sin espacios, tarjetas de estadísticas, etiquetas tipo píldora, gráficos de barras y tarjetas de cita oscuras, optimizados para exportación a captura de pantalla. Admite temas claro (#f5f5f7) y oscuro (#000).

¿Qué es apple-bento-grid?

Esta habilidad te permite generar rápidamente presentaciones visuales pulidas con estética Apple, sin necesidad de herramientas de diseño como Figma o Keynote. Crea archivos HTML autónomos que representan cuadrículas tipo bento, ideales para capturas de pantalla de alta resolución (2x) mediante Playwright. El diseño se basa en un sistema de tokens visuales (claro y oscuro) y una cuadrícula de 6px sin espacios, ofreciendo plantillas de 2, 3 y 4 columnas. Incluye una variedad de tarjetas (Hero, Estadística, Categoría, Gráfico de barras, Insignia, Cita y Destacado) que se adaptan a cualquier conjunto de datos, ya sean estadísticas de proyecto, hitos o testimonios. La habilidad guía al usuario paso a paso: desde elegir el tema y la plantilla, hasta generar el HTML, realizar una revisión visual para evitar problemas de diseño (líneas huérfanas, espacios vacíos, desbordamiento de texto) y exportar la captura de pantalla final. Es compatible con cualquier agente de IA como Claude Code, Cursor o Codex, y su documentación detallada (SKILL.md) incluye reglas críticas, ejemplos de personalización y un flujo de trabajo completo.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add hubeiqiao/apple-bento-grid

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Vista previa

Del README del skill

apple-bento-grid preview

Documentación

Apple Bento Grid

Problema

Crear gráficos de presentación visualmente pulidos normalmente requiere herramientas de diseño como Figma o Keynote. Esta habilidad genera diseños de cuadrícula bento de calidad Apple como archivos HTML independientes que se convierten en imágenes perfectas mediante captura de pantalla, sin necesidad de herramientas de diseño.

Descripción general

Genera archivos HTML independientes que renderizan cuadrículas de tarjetas bento inspiradas en Apple. Cada salida es un único archivo HTML con CSS en línea, sin dependencias aparte de Google Fonts. Las tarjetas llenan una cuadrícula CSS ajustada con espacios mínimos, lista para exportar como captura de pantalla con Playwright a resolución 2x. Están disponibles temas claro y oscuro.

Flujo de trabajo

  1. Lee el sistema de diseño de forma selectiva: Consulta design-system.md según sea necesario:
    • Lee siempre: Sección 2 (Cuadrícula sin espacios) + Sección 3 (Plantillas de diseño) — la base de la cuadrícula
    • Lee según el tipo de tarjeta: Secciones 5.1–5.7 según las tarjetas que estés usando
    • Lee para el tema: Sección 1 (tokens claro) o Sección 9 (tokens oscuro)
    • Lee una vez para la primera generación: Sección 8 (Esqueleto HTML) como punto de partida estructural
  2. Recopila el contenido del usuario — qué estadísticas, hitos, categorías y citas mostrar
  3. Elige un tema — sugiere claro, oscuro o ambos según el contexto (consulta Selección de tema más abajo)
  4. Elige un diseño — selecciona entre las 3 plantillas según la cantidad de tarjetas y la orientación
  5. Compón las tarjetas — selecciona tipos de tarjeta y completa con el contenido del usuario; prioriza la densidad (sin tarjetas que se sientan vacías)
  6. Pregunta por logotipos/imágenes — si el usuario tiene un logotipo o imágenes, intégralos (consulta Logotipos e imágenes más abajo)
  7. Genera el HTML — produce un único archivo HTML independiente
  8. Revisión visual — abre el HTML en un navegador y haz una captura de pantalla para verificar si hay problemas (consulta Revisión visual más abajo)
  9. Ofrece una versión vertical — después de generar una cuadrícula horizontal, pregunta: "¿Quieres una versión vertical (retrato) para redes sociales?" y genera una adaptación de la Plantilla C si la respuesta es afirmativa
  10. Captura de pantalla (opcional) — usa el script de Playwright para capturar PNG a 2x

Revisión visual

Después de generar el HTML, visualiza siempre la salida para detectar problemas visuales antes de presentarla al usuario. Usa Playwright, herramientas MCP del navegador o open para renderizar el archivo, luego verifica lo siguiente:

Líneas huérfanas — Una sola etiqueta tipo píldora o palabra que envuelve sola a una nueva fila. Solución: elimina una píldora para que las restantes llenen la fila de manera uniforme, o agrega suficientes píldoras para llenar dos filas completas.

Espacio vacío — Tarjetas que se ven dispersas con demasiado espacio en blanco. Solución: agrega un subtítulo, una insignia o texto de descripción adicional para llenar la tarjeta.

Desbordamiento de texto — Números o etiquetas demasiado largos para el ancho de la tarjeta. Solución: reduce el tamaño de fuente o abrevia (ej., "$2.4M" en lugar de "$2,400,000").

Cuadrícula rota — Espacios entre filas visibles o tarjetas desalineadas. Verifica: no hay align-items: start, el espacio es exactamente 6px, todas las celdas de la cuadrícula están ocupadas.

Fuente de respaldo — Texto renderizado con fuentes del sistema en lugar de Sora/DM Sans. Asegúrate de que el enlace de Google Fonts esté presente y la página tenga acceso a la red.

Recorte en la captura — Bordes derecho o inferior de las tarjetas cortados en el PNG exportado. Solución: asegúrate de que el ancho de la ventana gráfica coincida exactamente con el ancho CSS de la cuadrícula y que el recorte use box.x/box.y de boundingBox(), no x: 0, y: 0.

Si se encuentra algún problema, corrige el HTML y vuelve a verificar. No presentes el resultado al usuario hasta que la salida pase la revisión visual.

Selección de tema

Sugiere un tema según el contexto. Si no estás seguro, genera ambos.

ContextoTema sugerido
Presentación de diapositivasOscuro — mayor impacto visual en proyectores
Redes sociales / portafolioOscuro — destaca en los feeds
Informe / documento incrustadoClaro — combina con fondos de página blancos
Impresión / PDFClaro — ahorra tinta, mejor legibilidad
El usuario dice "estilo Apple"Claro — el aspecto característico de Apple
El usuario dice "moderno" o "elegante"Oscuro — sensación contemporánea
Sin preferencia declaradaAmbos — genera dos archivos, deja que el usuario elija

Consulta la Sección 9 de design-system.md para los tokens completos del tema oscuro, o la Sección 1 para los tokens del tema claro.

Formato de salida

Produce siempre un único archivo HTML independiente con:

  • <!DOCTYPE html> + <html lang="en">
  • Etiquetas <link> de Google Fonts en <head>
  • Todo el CSS en un único bloque <style>
  • Todo el contenido en <body> — no se necesita JavaScript

Tipos de tarjeta disponibles

TarjetaÚsalo paraCaracterística clave
HeroEslóganes, titularesBorde superior degradado, abarca 2 filas
EstadísticaNúmeros + etiquetasAcento de color por categoría
CategoríaElementos agrupados (fases, equipos, trimestres)Etiqueta de color + subtítulo + píldoras
Gráfico de barrasCrecimiento / comparación a lo largo del tiempoBarras degradadas, insignia de encabezado
InsigniaAtribución de herramientas, llamada destacadaPíldora de icono + número de estadística
CitaDeclaración de misión, testimonioFondo oscuro, texto blanco, <em> verde
DestacadoNúmero heroico (3x, 10x, 100%)Fondo de degradado completo

Plantillas de diseño

PlantillaColumnasAnchoRelación de aspectoMejor para
A: Horizontal4 columnas1200px52/2512-16 tarjetas, diapositivas
B: Horizontal3 columnas1100px52/228-10 tarjetas, enfocado
C: Vertical2 columnas600pxninguna (contenido)8-14 tarjetas, redes sociales

Crítico: Reglas de cuadrícula sin espacios

Estas 5 reglas son obligatorias para lograr una apariencia similar a Apple. Consulta la Sección 2 de design-system.md para obtener más detalles.

  1. NUNCA establezcas align-items: start — el valor predeterminado stretch llena las celdas
  2. Usa aspect-ratio en diseños horizontales para fijar la forma del contenedor
  3. Filas: 1fr para horizontal, auto para vertical
  4. Espacio: 6px (no 8px)
  5. Cada celda de la cuadrícula debe estar ocupada, sin celdas vacías

Exportación de captura de pantalla

Usa el script de Playwright en scripts/screenshot.mjs para capturar PNG perfectos.

cd scripts
npm install
npx playwright install chromium
node screenshot.mjs

Edita el array pages en screenshot.mjs para apuntar a tus archivos HTML. Cada entrada necesita: file (ruta HTML), output (ruta PNG), viewportWidth (coincide con el ancho de la cuadrícula).

Crítico: La ventana gráfica debe coincidir con el ancho de la cuadrícula. Si la ventana gráfica es más ancha que la cuadrícula, la cuadrícula se centra y el recorte puede cortar el borde derecho. Siempre establece viewportWidth al ancho CSS exacto de la cuadrícula (1200 para 4 columnas, 1100 para 3 columnas, 600 para 2 columnas).

Crítico: El recorte debe usar la posición del elemento. Al recortar el elemento de la cuadrícula, usa box.x y box.y de boundingBox(), no x: 0, y: 0. Si la cuadrícula está centrada en una ventana gráfica más ancha, x: 0 iniciará el recorte antes de la cuadrícula y cortará el lado derecho.

Después de la captura, revisa siempre la imagen de salida para verificar que no se hayan recortado los bordes. Comprueba que las tarjetas más a la derecha y más abajo sean completamente visibles con su border-radius intacto.

Logotipos e imágenes

Los usuarios pueden agregar sus propios logotipos o imágenes a las tarjetas de la cuadrícula bento. Pregunta al usuario si tiene algún logotipo o imagen que desee incluir.

Opciones de colocación:

UbicaciónCómoMejor para
Esquina de tarjeta Hero<img> con position: absolute; top: 20px; right: 20px; width: 40px;Logotipo de empresa
Icono de tarjeta InsigniaReemplaza el SVG en .badge-pill con una etiqueta <img> (width: 16px; height: 16px; border-radius: 4px;)Logotipo de herramienta/framework
Fondo de tarjeta completobackground-image: url(...) con degradado superpuesto para legibilidad del textoCapturas de pantalla de funciones
Tarjeta de imagen independiente<img> llenando la tarjeta con object-fit: cover; border-radius: 18px;Fotos de productos

Directrices:

  • Usa <img src="ruta/al/archivo.png"> con una ruta de archivo local: el HTML es para exportación de captura de pantalla, no para alojamiento
  • Mantén los logotipos pequeños (24–48px) para que no dominen la tarjeta
  • Para el tema oscuro, asegúrate de que los logotipos funcionen sobre fondos oscuros (usa versiones blancas/claras)
  • Agrega siempre texto alt para accesibilidad

Adaptación de contenido

Datos del usuarioPlantilla recomendadaCombinación de tarjetas
3–5 estadísticas, sin categoríasC (2 columnas vertical)1 Hero + 3–5 Estadísticas + 1 Cita
6–8 estadísticas, 1–2 categoríasB (3 columnas horizontal)1 Hero + 4–6 Estadísticas + 1–2 Categorías + 1 Gráfico
8–12 estadísticas, 3+ categoríasA (4 columnas horizontal)Combinación completa: Hero, Estadísticas, Categorías, Gráfico, Insignia, Cita, Destacado
Redes sociales / formato retratoC (2 columnas vertical)Cualquier combinación, fuentes más pequeñas

Regla de densidad: Cada tarjeta debe sentirse llena. Si una tarjeta se ve dispersa, agrega un subtítulo, insignia o píldoras. Si la cuadrícula tiene espacio vacío visible, extiende una tarjeta a través de las celdas o agrega una tarjeta de apoyo.

Lista de verificación de personalización

  1. Recopila contenido — estadísticas, categorías, hitos, citas
  2. Elige tema — claro, oscuro o ambos
  3. Elige diseño — 4 columnas, 3 columnas o 2 columnas
  4. Nombra áreas de la cuadrícula — nombres legibles que coincidan con el contenido
  5. Selecciona tipos de tarjeta — Hero, Estadística, Categoría, Gráfico, Insignia, Cita, Destacado
  6. Asigna colores de acento — uno por categoría, máximo 3–4 acentos
  7. Establece dimensiones — el ancho de la ventana gráfica coincide con el ancho de la cuadrícula
  8. Bloquea la relación de aspecto — solo horizontal; omítelo para vertical
  9. Verifica densidad — sin tarjetas que se sientan vacías, sin celdas de cuadrícula sin usar, espacio 6px
  10. Escala para orientación — vertical obtiene fuentes, padding y radio más pequeños
  11. Captura de pantalla — Playwright a 2x, ventana gráfica coincide con el ancho de la cuadrícula

Verificación

Después de generar un archivo HTML de cuadrícula bento:

  1. Abre en Chrome o Safari — verifica que todas las celdas de la cuadrícula estén llenas sin espacios de fila visibles
  2. Verifica la carga de fuentes — Sora y DM Sans deben renderizarse (no la fuente de respaldo del sistema)
  3. Para tema oscuro — verifica que los fondos de las tarjetas sean #1a1a1a, no #fff
  4. Captura de pantalla con el ancho de ventana gráfica correcto (1200/1100/600) a resolución 2x
  5. Confirma densidad — ninguna tarjeta debe tener espacio en blanco excesivo

Notas

  • Google Fonts requiere acceso a internet; las cuadrículas usan fuentes del sistema sin conexión
  • La captura de pantalla con Playwright es opcional; los usuarios pueden tomar capturas manuales del navegador
  • aspect-ratio es solo para diseños horizontales; los diseños verticales fluyen según la altura del contenido
  • Máximo 3–4 colores de acento por cuadrícula para mantener la moderación similar a Apple
  • Esta habilidad produce HTML estático para exportación de captura de pantalla, no paneles interactivos
  • Para cuadrículas con menos de 6 puntos de datos, la Plantilla C (2 columnas vertical) suele funcionar mejor

Archivos de referencia

  • design-system.md — Tokens de diseño completos (claro + oscuro), CSS/HTML de tarjetas, plantillas de diseño y esqueleto
  • scripts/screenshot.mjs — Script de captura de pantalla con Playwright

Skills relacionados