Communitygithub.com

axewhyzed/agentic-skills

Marco operativo para aplicaciones web modernas de alta densidad y cero desperdicio, paneles de herramientas y espacios de trabajo productivos. Útil al diseñar, construir o refactorizar interfaces web (React, TypeScript), diseños maestro-detalle de dos paneles, hubs de composición unificados, navegación por teclado, paletas de comandos (cmdk), indicadores de telemetría en vivo y ergonomía de autenticación granular.

¿Qué es agentic-skills?

Este skill proporciona una guía operativa completa para diseñar aplicaciones web altamente productivas, enfocadas en la eficiencia visual y de interacción. Está dirigido a desarrolladores que construyen paneles de administración, herramientas y espacios de trabajo donde los usuarios realizan tareas específicas, evitando elementos decorativos que desperdician espacio. El skill abarca principios como la filosofía de 'cero desperdicio', que elimina hero banners y maximiza el área útil, y la estética de alta densidad inspirada en Linear, Vercel y Raycast, utilizando bordes sutiles, fondos oscuros profundos y espaciado compacto. Las plataformas objetivo incluyen aplicaciones React y TypeScript, y se abordan patrones avanzados como layouts maestro-detalle de dos paneles para navegación eficiente de datos, hubs de composición unificados para crear contenido, paletas de comandos con atajos de teclado (cmdk) y principios de accesibilidad WCAG 2.2 AA/AAA. Además, se detallan prácticas de seguridad granular, diferenciando entre cierre de sesión local y revocación global de dispositivos, todo con el objetivo de crear interfaces potentes y productivas para usuarios avanzados.

Compatible con~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/axewhyzed/agentic-skills/tree/HEAD/.agents/skills/modern-web-ui-ux

Preguntar en tu IA favorita

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

Documentación

Diseño Moderno de UI/UX Web y Espacios de Trabajo de Alta Densidad

Una guía operativa completa para la ingeniería de aplicaciones web de alta densidad y cero desperdicio, paneles de utilidades y espacios de trabajo web productivos.


1. La Filosofía Web de Cero Desperdicio

Las aplicaciones web productivas (herramientas, paneles de administración, relés de comunicación, paneles de desarrollador) no son páginas de aterrizaje. Los usuarios llegan para realizar una tarea, no para admirar gráficos de marketing.

1.1 La Regla Anti-Hero

  • ❌ Anti-Patrón: Colocar un enorme banner decorativo de 300px en la parte superior de una pantalla de aplicación ("¡Bienvenido a tu Bandeja de Entrada!", ilustraciones abstractas flotantes, grandes fondos degradados) que empuja los datos reales y los controles interactivos debajo del pliegue.
  • ✔️ El Patrón de Cero Desperdicio: Eliminar por completo los banners de marketing de los estados de inicio de sesión. Utiliza una barra superior compacta de 56px que integre:
    1. Identidad de marca / icono sutil.
    2. Telemetría del sistema en vivo o medidores de cuota (ej., píldora de almacenamiento: 14 MB / 2 GB).
    3. Disparadores de modales de acción (ej., "Emparejar Dispositivo").
    4. Alternadores rápidos de tema (Oscuro / Claro).
    5. Menú desplegable de usuario compacto con opciones distintas de cierre de sesión local y seguridad.

1.2 Maximización del Viewport

  • Layouts 100vh: Bloquear la altura del viewport raíz (height: 100vh; overflow: hidden;) y crear contenedores de desplazamiento independientes para las listas de contenido e inspectores de detalle.
  • Cero Barras de Desplazamiento Accidentales: Eliminar las barras de desplazamiento dobles gestionando cuidadosamente overflow-y: auto solo en los contenedores de lista internos.

2. La Estética de Alta Densidad de Estilo Lineal

Inspirado en los paradigmas de diseño popularizados por Linear, Vercel y Raycast:

2.1 Jerarquía Visual y Tokens

  • Bordes Sútiles de 1px: Evitar sombras paralelas pesadas. Utilizar bordes finos de 1px (border-border/40 o #1E293B) para establecer la estructura.
  • Fondos Slate / Obsidiana Profundos: Utilizar fondos de alto contraste y no saturados (#0B0F17 o #090D16) en lugar de negro puro (#000000) o grises turbios.
  • Figuras Tabulares Monoespaciadas: Aplicar siempre font-mono tabular-nums a fechas, marcas de tiempo, tamaños de archivo y contadores para que los números se alineen verticalmente sin saltos en el diseño.
  • Cuadrícula de Espaciado Compacto: Estandarizar en un ritmo de 4px/8px. Rellenar las filas con 8px–10px verticales y 12px horizontales para máxima densidad de información sin claustrofobia visual.

2.2 Paleta de Menú de Comandos (Patrón cmdk)

Además de la barra de búsqueda estándar, integrar una paleta de comandos global activada por ⌘K o Ctrl+K:

  • Acciones agrupadas: Navegación, Creación, Configuración del sistema, Acciones de cuenta.
  • Búsqueda difusa instantánea en elementos, archivos y atajos.
  • Navegación por teclado completamente accesible (ArrowDown, ArrowUp, Enter, Escape).

3. El Patrón de Hub de Composición Unificado

Cuando una aplicación permite a los usuarios crear, cargar o enviar diferentes tipos de datos (ej., notas de texto, URLs, documentos), evita dispersar los puntos de entrada en diferentes páginas o enterrarlos en la parte inferior.

+-------------------------------------------------------------+
| Hub de Composición                                          |
| [ 📝 Texto ]  [ 🔗 Enlace Web ]  [ 📁 Carga de Archivo ]   |
+-------------------------------------------------------------+
|                                                             |
|  Área de Formulario Activo / Zona de Arrastrar y Soltar     |
|  - Área de texto multilínea para notas                      |
|  - Entrada de URL limpia con validación automática          |
|  - Zona de arrastrar y soltar con vista previa de archivos  |
|                                                             |
+-------------------------------------------------------------+
| Retención: [ 1 Día ] [ 3 Días ] [ 7 Días ]    [ Soltar en Bóveda ↵ ] |
+-------------------------------------------------------------+

Elementos Clave de un Hub de Composición Efectivo:

  1. Conmutador de Pestañas Segmentado: Pestañas tipo píldora limpias con cambio instantáneo sin restablecer el formulario.
  2. Zona de Arrastrar y Soltar: Manejo nativo de arrastrar y soltar HTML5 con resaltado visual del borde (border-dashed border-accent) y validación de tamaño en bytes.
  3. Conteo de Caracteres y Bytes en Vivo: Calcular bytes UTF-8 reales en tiempo real (ej., 124 bytes o 18.4 MB / 100 MB).
  4. Controles de Ciclo de Vida / Retención: Permitir al usuario establecer la caducidad de antemano para que el sistema limpie automáticamente los elementos temporales.
  5. Envío por Teclado: Ctrl + Enter (o Cmd + Enter) para enviar desde cualquier entrada de texto activa.
  6. Estados Activos de Alto Contraste (WCAG 1.4.11):
    • Contraste de Pestaña Activa: En modo oscuro, una pestaña activa NUNCA debe fusionarse con su contenedor (#111827 activo sobre contenedor #0F172A es solo 1.02:1). Siempre elevar la pestaña activa con --card-elevated: #1E293B, un borde semántico explícito de 1px (1px solid var(--accent)), un contorno de resplandor activo (box-shadow: 0 0 0 1px var(--accent-glow)), y un icono teñido activo.
    • Límites de Controles de Formulario: Las entradas de retención, las flechas de menús desplegables y los botones secundarios en modo oscuro deben usar bordes con $ ge 18%$ de opacidad blanca (rgba(255, 255, 255, 0.18) o #334155) para cumplir con el requisito de contraste no textual 3:1 contra fondos oscuros.

4. Layouts Maestro-Detalle de Alta Densidad (Dos Paneles)

Para la exploración de datos, los layouts maestro-detalle mantienen el contexto visible mientras permiten una inspección profunda.

flowchart LR
    subgraph MasterPane["Panel Maestro (Izquierda: 40% - 45%)"]
        SearchBar["Barra de Búsqueda Instantánea (Tecla rápida: /)"]
        FilterChips["Chips de Filtro: [Todos] [Archivos] [Enlaces] [Texto]"]
        ListItems["Filas de Elementos Virtualizadas / Desplazables
        - Icono de Tipo + Título
        - Insignia de Dispositivo Remitente
        - Marca de Tiempo Relativa
        - Deslizamiento Rápido / Acción"]
    end

    subgraph DetailPane["Panel de Detalle (Derecha: 55% - 60%)"]
        DetailHeader["Título del Elemento e Insignia de Tipo"]
        PreviewArea["Vista Previa de Contenido en Vivo:
        - Enlaces Clickeables
        - Texto resaltado con sintaxis
        - Vista previa de imagen / documento"]
        ActionRow["Acciones Principales:
        [ Abrir Enlace ] [ Copiar Texto ] [ Descargar Archivo ] [ Eliminar ]"]
    end

    MasterPane -->|"Estado de Selección"| DetailPane

Mejores Prácticas:

  • Encabezado de Búsqueda y Filtro Fijo: La entrada de búsqueda y los chips de filtro deben permanecer anclados mientras la lista de elementos se desplaza debajo.
  • Estados Vacíos y de Resultados Cero: Proporcionar estados visuales claros:
    • Aún no hay elementos: "Tu bandeja de entrada está vacía. Usa el hub de composición de arriba para agregar tu primer elemento."
    • Sin coincidencias de búsqueda: "No hay elementos que coincidan con 'declaración-impuestos'. [Limpiar búsqueda]."

5. Navegación por Teclado y Accesibilidad (a11y)

Los usuarios avanzados esperan fluidez con el teclado:

AtajoAcciónImplementación
/ o ⌘KEnfocar Entrada de Búsquedadocument.addEventListener('keydown', ...) con input.focus()
EscapeLimpiar Búsqueda / Cerrar Modal ActivoDescarta el modal superior o desenfoca el campo de búsqueda
Ctrl + EnterEnviar Formulario Activo / Enviar ElementoManejador onKeyDown del formulario
Tab / Shift + TabOrden de Enfoque DOM LógicoAplicar anillos :focus-visible accesibles (contorno azul de $2\text{px}$)

5.1 Auditoría de Contraste de Color WCAG 2.2 AA / AAA

Nunca lanzar aplicaciones web con tokens de diseño no verificados o de bajo contraste:

  • Contraste de Texto Normal ($\ge 4.5:1$ AA, $\ge 7:1$ AAA):
    • Trampa en Modo Claro: Slate-400 (#94A3B8) sobre #FFFFFF es solo 2.57:1 (falla AA). Oscurecer el texto secundario en modo claro al menos a Slate-500 (#64748B), obteniendo 4.77:1.
    • Trampa de Insignia Amarilla/Ámbar: Ámbar-600 (#D97706) sobre #FFFFFF es solo 3.22:1 (falla AA). Oscurecer a Ámbar-700 (#B45309) para insignias de texto, obteniendo 4.82:1.
    • Texto en Modo Oscuro: Asegurar que text-primary (#F8FAFC, 15.6:1 AAA) y text-secondary (#CBD5E1, 11:1 AAA) proporcionen legibilidad sin esfuerzo sobre tarjetas slate profundas.
  • Contraste de Componentes y Bordes ($\ge 3:1$, WCAG 1.4.11):
    • Las entradas de formulario, los campos de búsqueda y los bordes de controles segmentados en modo oscuro deben cumplir con $\ge 3:1$ de contraste contra los contenedores adyacentes.
    • Los indicadores de enfoque deben usar anillos primarios de alto contraste (box-shadow: 0 0 0 2px var(--focus-ring)).

6. UX de Seguridad y Autenticación Granular

No confundir las acciones de usuario normales y cotidianas con las acciones de seguridad de alto riesgo.

6.1 Cierre de Sesión Local vs. Revocación Global

  • Cerrar Sesión (Local): Limpia la cookie de sesión solo en el navegador actual. Esta es la acción rutinaria que los usuarios realizan en computadoras compartidas.
  • Cerrar Sesión en Todas Partes (Global): Revoca todos los tokens de actualización y sesiones de dispositivo activos en todos los teléfonos, portátiles y navegadores registrados.
    • Regla de Seguridad: Nunca colocar "Cerrar Sesión en Todas Partes" como un botón directo de un clic en un menú estándar. Siempre protegerlo detrás de un modal dedicado con un paso de confirmación explícito ("¿Estás seguro? Esto desconectará tu teléfono y otros dispositivos.").

6.2 UX de Emparejamiento de Dispositivos

  • Renderizar códigos QR de emparejamiento en un diálogo ligero con:
    • Código QR SVG de alto contraste.
    • Temporizador de cuenta regresiva en tiempo real (ej., "Expira en 09:42").
    • Secreto de texto de respaldo con un botón de copia con un clic para dispositivos sin cámaras funcionales.

7. Repositorios de Código Abierto de Referencia

Inspeccionar estos repositorios líderes en la industria para inspiración en diseño, estructura de tokens e implementación:

  • shadcn/ui: Primitivas de componentes accesibles sin estilo que combinan Radix UI y Tailwind CSS con valores predeterminados modernos de alta densidad.
  • pacocoursey/cmdk: El componente de menú de comandos accesible estándar de oro utilizado por Linear, Vercel y Raycast.
  • henrikzabel/linearlike: Índice curado de aplicaciones web de grado de producción que utilizan la estética Linear.
  • ln-dev7/circle: Rastreador de incidencias de código abierto inspirado en Linear que demuestra tablas densas y navegación por barra lateral.
  • calcom/cal.com: Diseño de espacio de trabajo React de grado empresarial con paneles múltiples limpios, diálogos granulares y navegación instantánea.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Skills relacionados