Sketch to Drawio
Usa el boceto rasterizado como referencia de composición, módulos y relaciones para redibujar figuras de artículos académicos con formas nativas de draw.io, texto editable e iconos SVG independientes. El boceto en sí nunca se incrusta como fondo o imagen completa en el producto final.
Entrada y salida
La entrada la especifica el usuario o se descubre en el espacio de trabajo:
- Boceto rasterizado (PNG/JPG, obligatorio);
- Archivo de especificación/descripción textual opcional (cuando se proporciona texto formal, datos, colores, etc., se toma como referencia).
La salida se dirige al directorio especificado por el usuario; los nombres de archivo se derivan del slug del nombre de la figura (el slug del ejemplo siguiente es <fig>):
<fig>.drawio: archivo fuente editable (todos los objetos editables);<fig>.svg/<fig>.png: exportación final (PNG con fondo blanco, resolución adecuada para figuras de artículos/Word);<fig>-icon-attribution.md: lista de fuentes y procesamiento de iconos;<fig>-QC.md: control de calidad y elementos pendientes de confirmación;- Los archivos de iconos intermedios se colocan en el directorio de referencia especificado por el usuario.
Flujo de trabajo
- Leer y analizar la imagen: identificar módulos, títulos, direcciones de flechas, jerarquía de contenedores; ignorar texto/números/fórmulas/marcas de agua del boceto (a menos que la especificación los proporcione; de lo contrario, usar marcadores de posición y registrar como pendientes de confirmación).
- Planificar elementos: determinar la semántica funcional de cada elemento gráfico y clasificarlos primero —iconos funcionales simples (semántica única: coche, archivo, escudo, búsqueda) o ilustraciones/escenas complejas (varios elementos, decorativos, como un paisaje montañoso)— y luego procesarlos según la jerarquía correspondiente.
- Redibujar de forma nativa: reconstruir todos los módulos, contenedores, conexiones y texto utilizando XML de draw.io; diseñar de izquierda a derecha o de arriba a abajo, con un orden de lectura claro.
- Autoinspección de la exportación: exportar una vista previa PNG e inspeccionarla visualmente (recortes, solapamientos, desalineaciones, líneas rotas, dirección de flechas, tamaño de fuente, consistencia de iconos, colores distinguibles); los problemas puramente de diseño se corrigen directamente en el XML y se reexportan hasta que pasen.
- Entregar registros: escribir archivos de atribución y control de calidad, y resumir en la respuesta final todos los elementos
needs_user_confirmation.
Prioridad de procesamiento de elementos gráficos (juzgar cada elemento de forma independiente)
Iconos funcionales simples siguen A→B→C:
- A. SVG de código abierto primero: por defecto, estilo lineal monocromático unificado de Lucide; si es insuficiente, buscar en conjuntos de iconos de código abierto de Iconify (para médico/equipos, priorizar mdi, fluent). No mezclar estilos en la misma figura; registrar la biblioteca, el nombre, la licencia y los requisitos de atribución. El mecanismo de búsqueda y descarga se detalla en references/icon-sourcing.md; la descarga utiliza
scripts/fetch_icon.py. - B. Cuando no se encuentra, calcar el icono del boceto: recortar → mejorar (ampliar, reducir ruido, eliminar fondo, sin inventar detalles que no existan en la imagen original) → convertir a SVG con vtracer/Inkscape → priorizar el redibujo con formas geométricas siguiendo el contorno; solo si no es posible redibujar, insertar un SVG independiente (sin rasterizar). Si faltan herramientas, degradar directamente a C y registrarlo. Criterios y comandos en references/icon-tracing.md.
- C. Cuando aún no es fiable, usar formas genéricas conservadoras: no adivinar semántica. Datos → archivo/cilindro; procesamiento → rectángulo redondeado/engranaje; sistema → contenedor/nube/servidor; persona → silueta de persona; entrada/salida → flecha de dirección/cuadro de archivo; completamente incierto → rectángulo redondeado sin decoración + etiqueta de texto clara; título también poco fiable → texto de marcador de posición
[needs confirmation]. Todos se registran como elementos pendientes de confirmación; criterios de clasificación en references/qc.md.
Ilustraciones/escenas complejas siguen A′→B′→C′→D′→E, con dos principios: la consistencia estilística tiene prioridad sobre la coincidencia semántica; la fidelidad al original tiene prioridad sobre la recomposición (la recomposición es la principal fuente de "sensación de desorden"). Se degrada paso a paso, y solo al final se usa la opción de respaldo:
- A′. Ilustraciones compuestas del mismo conjunto (primera opción, con umbral de calidad): usar varios elementos del mismo conjunto de iconos que la figura completa + composición de superposición (z-order) (por ejemplo, Lucide
mountain-snowal fondo +tree-pine×2 a los lados +routeal frente); se pueden usar 2–3 colores de la paleta existente en la figura para capas de frente y fondo. Umbral de calidad: ≤3 elementos, jerarquía de tamaño clara, superposición moderada; si a la escala objetivo aún parece desordenado, hacer como máximo una ronda de corrección y luego degradar, sin pulir repetidamente. - B′. Recorte del original + calco en color (versión vectorial de "recorte en alta definición"): recortar la ilustración directamente del boceto → vectorizar con vtracer
--colormode color→ inspeccionar visualmente después del mapeo de paleta; mantener completamente vectorial y fiel a la composición original. - C′. Recorte del original + mejora rasterizada (se permite ráster para parches decorativos): recortar → ampliar 2–4 veces + reducir ruido + nitidez ligera (
scripts/embed_raster.py) → incrustar PNG en SVG<image>y luego codificar en percent-encode; recortar solo la ilustración, no el texto; preparar la resolución a 2–3 veces el tamaño de visualización. - D′. Conjunto de colores mapeados con paleta / combinación de formas nativas: elegir un conjunto de colores planos geométricos + mapeo de paleta (el estilo de pegatinas emoji con degradado es un antipatrón), o usar formas básicas para componer una escena simplificada.
- E. Respaldo: combinación de iconos lineales monocromáticos (por ejemplo, Lucide route+cloud-sun); si aún no funciona, degradar a las formas genéricas C.
Criterios detallados, comandos y tabla de permisos en references/illustrations.md.
Los iconos y las ilustraciones son elementos auxiliares y no deben reemplazar el texto clave ni las relaciones lógicas.
Restricciones para figuras académicas
- Fondo blanco, 3–5 colores de baja saturación, ancho de línea/radio de esquina/estilo de flecha uniformes; por defecto, optimizado para el ancho de página A4; los títulos y las etiquetas clave deben seguir siendo legibles después de reducir el tamaño.
- Como máximo 1–2 ilustraciones en color por figura como anclas visuales; el resto de elementos deben mantener un estilo lineal monocromático; la misma figura no debe mezclar estilos, tanto para iconos como para ilustraciones; la inconsistencia estilística se registra en QC.
- Para artículos en chino, prestar atención a la disponibilidad de fuentes CJK en el lado de la exportación (los caracteres faltantes pueden convertirse en cuadrados; verificar obligatoriamente durante la autoinspección).
Barreras contra la invención
- No inventar flujos de investigación, detalles técnicos, variables, métodos, conclusiones o valores.
- La mejora no debe inventar detalles que no existan en la imagen original; si algo no es reconocible, degradar a C, sin generar nuevos iconos que puedan ser incorrectos.
- Todo aquello cuya semántica tenga baja confianza, falte texto/datos o cuyo estilo se haya sobrescrito, debe incluirse en la lista de elementos pendientes de confirmación de QC.
Relación con otras skills
La sintaxis XML de draw.io, la búsqueda de formas, el mecanismo CLI de exportación y la resolución de problemas reutilizan drawio-skill (para exportación sin cabeza usar xvfb-run -a drawio --no-sandbox ...; su solución de problemas cubre casos como ejecución como root/sin pantalla); esta skill no repite esos mecanismos.