Communitygithub.com

Sistema de Carga y Gestión de Archivos

Diseña un marco sistemático para cargar y gestionar archivos, definiendo la organización visual y espacial de zonas de colocación, colas de carga y acciones de gestión de archivos para garantizar una experiencia de usuario eficiente y de alta confianza.

¿Qué es Sistema de Carga y Gestión de Archivos?

Este skill proporciona una metodología completa para diseñar la experiencia de carga de archivos de extremo a extremo, desde la interacción inicial hasta la gestión posterior a la carga. Cubre la definición de estados de la zona de colocación (inactivo, hover, activo, deshabilitado), la organización espacial de la cola de carga (pendiente, cargando, completado) y los bucles de retroalimentación (progreso, éxito, error) necesarios para mantener la confianza del usuario durante operaciones de alta latencia. El skill es ideal para aplicaciones SaaS, CMS, herramientas de gestión de proyectos, herramientas creativas e interfaces de almacenamiento en la nube. También enfatiza la accesibilidad (WCAG 2.2), la capacidad de respuesta móvil y proporciona reglas de decisión claras, como la 'Regla de Entrada Instantánea' (los archivos deben aparecer inmediatamente en la interfaz de usuario), la visibilidad del progreso para subidas que toman más de 1 segundo y el manejo de conflictos (mantener ambos, reemplazar, omitir). Incluye patrones de falla comunes a evitar y criterios de validación para garantizar una implementación robusta y amigable para el usuario.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coastdigitalgroup/coastai-skills/tree/HEAD/website-design/file-upload-management-system

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Sistema de Carga y Gestión de Archivos?

Propósito

El Sistema de Carga y Gestión de Archivos proporciona una metodología para diseñar la experiencia completa de transferencia de archivos desde el dispositivo de un usuario hasta un servidor. Asegura que el proceso sea transparente, recuperable y accesible. Este sistema define los estados de interacción del desencadenante de carga (zonas de colocación), el ritmo espacial de la cola de carga y los bucles de retroalimentación (progreso, éxito y error) necesarios para mantener la confianza del usuario durante operaciones de alta latencia.

Casos de Uso

  • Sistemas de Gestión de Contenidos (CMS): Diseño de bibliotecas multimedia y cargadores de activos.
  • Aplicaciones SaaS: Implementación de gestión de documentos, importaciones CSV o archivos adjuntos de perfil de usuario.
  • Herramientas de Gestión de Proyectos: Estructuración de archivos adjuntos dentro de tareas o comentarios.
  • Herramientas Creativas: Diseño de cargadores de gran volumen para fotos, videos o archivos de diseño.
  • Interfaces de Almacenamiento en la Nube: Gestión de operaciones complejas de carga de carpetas y archivos.

Cuándo NO Usar

  • Archivos de Texto Pequeños: Si el "archivo" es solo un fragmento pequeño de texto, usa un área de texto estándar o la implementación-copiar-al-portapapeles.
  • Transferencias Automatizadas por el Sistema: Donde el usuario no desencadena ni monitorea la carga (por ejemplo, telemetría en segundo plano).
  • Fotos de Perfil de Entrada Única: Aunque este sistema aplica, un desencadenante "Avatar" simple (del sistema-de-avatar-de-usuario) podría ser más apropiado para actualizaciones de una sola imagen de baja complejidad.
  • Activos Estáticos: Para activos que son parte del código del sitio (por ejemplo, iconos, imágenes de tema), que se gestionan a través de flujos de trabajo de desarrollador.

Entradas

  1. Restricciones de Tipo y Tamaño de Archivo: ¿Qué está permitido (PDF, JPG, PNG) y cuáles son los tamaños máximos?
  2. Expectativa de Volumen: ¿El usuario está cargando un archivo a la vez o 50+ archivos en lote?
  3. Contexto de la Carga: ¿Esta es una tarea independiente (por ejemplo, "Importar Datos") o una acción de apoyo (por ejemplo, "Adjuntar al Mensaje")?
  4. Requisitos de Metadatos: ¿El archivo necesita un título, descripción o etiquetas durante el proceso de carga?
  5. Tokens del Sistema: Escalas de espaciado, color y tipografía del sistema de diseño principal.

Salidas

  1. Especificación de Anatomía de la Zona de Colocación: Definiciones visuales para el desencadenante de carga (estados Inactivo, Hover, Activo y Deshabilitado).
  2. Plano de Gestión de Cola: La organización espacial de los elementos de la lista "Pendiente", "Cargando" y "Completado".
  3. Matriz de Progreso y Retroalimentación: Tratamientos visuales para barras de progreso, indicadores de porcentaje y estados de éxito/error.
  4. Jerarquía de Acciones: Reglas para acciones "Cancelar", "Reintentar", "Eliminar" y "Editar" dentro de la lista de archivos.

Flujo de Trabajo

1. Diseñar el Desencadenante de Carga (La Zona de Colocación)

Establece una invitación clara para la interacción:

  • Estado Inactivo: Usa un borde discontinuo o sólido con un icono (generalmente una nube hacia arriba o un clip) y una instrucción clara (por ejemplo, "Arrastra y Suelta o Haz Clic para Cargar").
  • Estado de Arrastre Superpuesto: Cambia el color de fondo o el estilo del borde para proporcionar retroalimentación inmediata de que el área está lista para recibir el archivo.
  • Respaldo Móvil: Asegúrate de que la zona de colocación siga siendo un botón grande y táctil (mín. 24x24px según WCAG 2.2 SC 2.5.8, se recomienda 44x44px) que abra el selector de archivos nativo del sistema.

2. Establecer la Cola de Carga

Gestiona múltiples archivos sin saturar la interfaz:

  • Retroalimentación Inmediata: Tan pronto como se seleccione un archivo, agrégalo a una lista debajo o dentro del desencadenante.
  • Anatomía del Archivo: Cada elemento de la lista debe incluir:
    • Miniatura/Icono: Para ayudar al usuario a identificar el tipo de archivo o contenido.
    • Nombre y Tamaño del Archivo: Para confirmar que se eligió el archivo correcto.
    • Indicador de Progreso: Una barra o círculo que muestre el estado de la carga.
    • Acciones: Una forma de cancelar una carga en curso o eliminar una completada.

3. Proporcionar Retroalimentación de Estado Detallada

Usa el sistema-de-progreso-por-pasos y el sistema-de-estados-interactivos para los estados del archivo:

  • Cargando: Muestra una barra de progreso y, para cargas largas, el porcentaje o "X de Y MB" cargados.
  • Éxito: Usa un color semántico de "Éxito" (verde) y un icono de marca de verificación. Proporciona una acción "Ver" o "Enlace".
  • Error: Usa un color semántico de "Error" (rojo). Proporciona una razón clara (por ejemplo, "Archivo demasiado grande") y un botón "Reintentar".

4. Diseñar para la Gestión de Archivos (Post-Carga)

Define cómo los usuarios interactúan con sus activos cargados:

  • Edición de Metadatos: Si se necesitan títulos o descripciones, proporciona edición en línea o un modal de "Configuración".
  • Eliminación: Usa un icono de "Papelera" con un paso de confirmación para acciones destructivas.
  • Vista de Cuadrícula vs. Lista: Para cargas con muchos archivos multimedia, proporciona una vista de cuadrícula de miniaturas; para cargas con muchos documentos, usa una vista de lista para la densidad de metadatos.

5. Planificar para el Apilamiento Responsivo

  • La Cola Compacta: En dispositivos móviles, colapsa los metadatos (como el tamaño del archivo) y prioriza el nombre del archivo y la barra de progreso.
  • Enfoque en Pantalla Completa: Para cargadores complejos (como un importador CSV con mapeo), usa una superposición de pantalla completa para eliminar distracciones.

Reglas de Decisión

  • La "Regla de Entrada Instantánea": Los archivos deben aparecer en la interfaz de usuario en el momento en que se sueltan/seleccionan, incluso si la solicitud real al servidor aún no ha comenzado.
  • Visibilidad del Progreso: Usa una barra de progreso para cualquier archivo que tarde >1 segundo en cargarse. Para cargas muy rápidas, transiciona directamente al estado "Éxito".
  • Acciones por Lote: Si el usuario puede cargar 5+ archivos, proporciona una acción "Limpiar Todo" o "Cargar Todo" para gestionar la cola colectivamente.
  • Gestión de Conflictos: Define qué sucede si existe un archivo con el mismo nombre (por ejemplo, "Mantener Ambos", "Reemplazar", "Omitir").
  • Estado Vacío: Si la biblioteca multimedia está vacía, usa el sistema-de-estado-vacío para proporcionar un botón "Cargar" como CTA principal.

Restricciones

  • Accesibilidad:
    • La zona de colocación debe ser enfocable y operativa mediante las teclas Espacio o Intro.
    • Usa aria-live="polite" para anunciar el progreso de la carga y la finalización a los lectores de pantalla (evita inundar con cada tic de porcentaje).
    • Las entradas de archivo deben tener una <label> oculta pero accesible.
    • Asegúrate de que el foco nunca quede atrapado detrás de la zona de colocación o la lista de progreso (WCAG 2.4.11 Foco No Obscurecido): los encabezados fijos o los avisos emergentes no deben cubrir el elemento enfocado.
    • Los objetivos táctiles para las acciones Cancelar/Reintentar/Eliminar deben cumplir al menos 24x24px (WCAG 2.2 SC 2.5.8); se prefiere 44x44px para acciones principales.
  • Capacidad de Respuesta: Las zonas de colocación deben ser fluidas y nunca causar desbordamiento horizontal.
  • Contraste: Las barras de progreso y los mensajes de error deben cumplir con las relaciones de contraste WCAG AA (4.5:1).

Patrones de Falla Comunes

  • El "Fallo Silencioso": Una carga falla, pero la interfaz de usuario no proporciona retroalimentación, dejando al usuario esperando indefinidamente.
  • Progreso Desvaneciente: La barra de progreso desaparece antes de que la carga se haya finalizado realmente, causando "Ansiedad de Última Etapa".
  • Zonas de Colocación Pequeñas: Crear un objetivo pequeño que es difícil de alcanzar con un ratón o el pulgar.
  • Falta de "Cancelar": No permitir que un usuario detenga una carga grande y accidental.
  • Errores Obscuros: Mostrar "Error 500" en lugar de "El servidor está ocupado actualmente, por favor inténtalo de nuevo en un momento".

Criterios de Validación

  • La zona de colocación tiene estados distintos: Inactivo, Hover y Arrastre superpuesto.
  • Cada archivo en la cola muestra nombre, tamaño y progreso.
  • Los estados de Éxito y Error se indican tanto con color como con iconos.
  • Los usuarios pueden cancelar o eliminar archivos de la cola.
  • Se utilizan regiones vivas ARIA para las actualizaciones de estado.
  • El diseño es responsivo y maneja nombres de archivo largos de manera adecuada.
  • Todos los elementos interactivos cumplen con el mínimo de objetivo táctil de 24x24px de WCAG 2.2 (se prefiere 44x44px).

Individual skills in this repo

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

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for progressive disclosure using accordions, ensuring structural integrity, visual affordances, and accessibility across different content densities and devices.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for long-form content, managing readability, vertical rhythm, and information density to ensure a superior reading experience.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for informational elements that communicate state (Badges) and categorization (Tags) with clarity and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for non-overlay notifications, managing global announcements and contextual inline alerts to communicate system states without interrupting the user's flow.

coastdigitalgroup/coastai-skills

Design and implement a systematic, asymmetrical bento-grid layout framework to organize diverse content types cohesively while maintaining strict visual hierarchy, logical focus order, and responsive flexibility.

coastdigitalgroup/coastai-skills

Design a responsive, mobile-first bottom navigation bar and persistent action dock system for mobile websites and web applications, establishing spatial anchors, tab bar anatomy, badge indicators, thumb-zone ergonomics, safe area inset handling, active/inactive state contrast, and desktop responsive adaptation rules.

coastdigitalgroup/coastai-skills

Design a mobile-first bottom sheet overlay system with configurable detents, drag affordances, safe area padding, responsive desktop modal/popover adaptation, and WCAG AA accessibility compliance.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for secondary navigation trails that provide orientation, context, and one-click access to parent levels in deep information architectures.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for buttons and interactive triggers, managing visual hierarchy, variant logic, and action grouping to ensure clear intent and accessible interaction.

coastdigitalgroup/coastai-skills

Design a systematic framework for date and time selection, managing calendar grids, range pickers, and scheduling interfaces to ensure precision and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for modular content containers that maintain hierarchy, structural integrity, and action alignment across variable content and responsive viewports.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for horizontal discovery components, managing navigation affordances, scroll behavior, and accessibility to ensure effective content density without compromising usability.

coastdigitalgroup/coastai-skills

Design a systematic, highly accessible, and developer-friendly UI layout framework for code blocks, snippet showcases, multi-file code tabs, line-highlighting, diff views, and syntax token contrast in technical documentation and developer platforms.

coastdigitalgroup/coastai-skills

Design a systematic framework for global command menus (Cmd+K panels) that combines keyboard-driven navigation, command execution, and shortcut discovery into an accessible, responsive overlay.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for threaded conversations, managing nesting depths, action hierarchies, and community signaling to foster engagement and readability.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for side-by-side comparison interfaces, managing high attribute density and responsive complexity to support informed decision-making.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for user privacy, managing consent banners, preference centers, and persistent privacy controls to balance legal compliance with user trust.

coastdigitalgroup/coastai-skills

Design and implement a systematic, highly accessible, and responsive visual layout framework for conversational chat widgets, live chat boxes, and chatbot panels that ensures clear message scannability, native focus flow, and seamless mobile keyboard adaptation.

coastdigitalgroup/coastai-skills

Design a systematic, accessible, and high-conversion framework for custom select dropdowns and comboboxes, defining anatomy, states, search-filtering, and responsive mobile-adaptive patterns.

coastdigitalgroup/coastai-skills

Design and implement a systematic color palette that ensures WCAG 2.2 accessibility compliance. Trigger this skill when asked to define brand colors, create UI themes, or establish a visual system for a website.

Skills relacionados