The whole file
This is exactly what you download: no summaries, nothing trimmed.
Heads-up: the skill file itself is written in Spanish. Agents read it fine and answer in your language, but the prose below is not translated.
Diagramas Excalidraw desde una descripción
El valor de un diagrama generado no es ahorrarse el dibujo: es que sale
editable. Un PNG generado por una IA se descarta en cuanto cambia algo; un
.excalidraw se abre, se arrastran dos cajas y sigue vivo.
Elegir el tipo, que es la mitad del trabajo
| Lo que se quiere contar | Diagrama |
|---|---|
| Pasos en orden, con decisiones | Flujo |
| Qué se conecta con qué | Relaciones |
| Un concepto y sus ramas | Mapa mental |
| Componentes de un sistema y sus llamadas | Arquitectura |
| Por dónde viajan los datos y dónde se guardan | Flujo de datos |
| Quién hace qué, con traspasos entre roles | Carriles (swimlane) |
| Objetos hablando a lo largo del tiempo | Secuencia |
| Tablas, claves y cardinalidad | Entidad-relación |
Un flujo de datos no representa el orden de los pasos, solo por dónde va el dato. Confundirlo con un diagrama de flujo es el error más habitual, y produce un diagrama que parece correcto y dice algo falso.
Cuántos elementos
| Tipo | Cómodo | Techo |
|---|---|---|
| Pasos de un flujo | 3-10 | 15 |
| Entidades relacionadas | 3-8 | 12 |
| Ramas de un mapa mental | 4-6 | 8 |
Por encima de 20 elementos, ningún diagrama se lee. Cuando la petición trae 15 componentes, la respuesta correcta no es dibujarlos todos: es proponer una vista general de seis y diagramas de detalle por subsistema.
Estructura del fichero
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [],
"appState": { "viewBackgroundColor": "#ffffff", "gridSize": 20 },
"files": {}
}
Elementos: rectangle para pasos y entidades, diamond para decisiones,
ellipse para énfasis, arrow para conexiones, text para etiquetas.
Todos los textos con fontFamily: 5 (Excalifont). Es el detalle que separa
un diagrama que parece hecho en Excalidraw de uno que parece pegado desde otra
herramienta.
Retícula y color
- Hueco horizontal de 200-300 px, vertical de 100-150 px. Apretarlos es lo que produce esos diagramas donde las flechas cruzan por encima de las cajas.
- Texto de 16 px para arriba. Por debajo no se lee en una captura.
- Cuatro colores, con significado, no decorativos:
#a5d8ffprincipal ·#b2f2bbsecundario ·#ffd43blo importante ·#ffc9c9errores y avisos. - IDs únicos por elemento. Repetirlos hace que Excalidraw se coma elementos al abrir el fichero, en silencio.
Dos disposiciones que resuelven casi todo:
// Rejilla, para diagramas de relaciones
const cols = Math.ceil(Math.sqrt(n));
const x = x0 + (i % cols) * 260;
const y = y0 + Math.floor(i / cols) * 130;
// Radial, para mapas mentales
const a = (2 * Math.PI * i) / ramas;
const x = cx + r * Math.cos(a);
const y = cy + r * Math.sin(a);
Iconos de marca
Para arquitecturas de AWS, Azure, GCP o Kubernetes, las librerías de libraries.excalidraw.com dan iconos reales en lugar de rectángulos con el nombre dentro.
El detalle práctico: cada icono son entre 200 y 1000 líneas de JSON. Pegarlos a mano en el diagrama funciona, pero se come el contexto entero y arriesga colisiones de ID. Merece la pena un script que reciba nombre de icono y coordenadas, y haga la transformación de forma determinista.
Si no hay librería instalada, el diagrama sale igual con formas simples y color: se entiende perfectamente y los iconos se pueden sustituir después.
Antes de entregar
- IDs únicos
- Nada se solapa
- Texto de 16 px o más, todo con
fontFamily: 5 - Las flechas conectan lo que dicen conectar
- Es JSON válido
- Menos de 20 elementos
Y decir cómo abrirlo: arrastrar el fichero a excalidraw.com o abrirlo con la extensión de Excalidraw en VS Code.
Límites honestos
Las curvas complejas se simplifican, no hay detección de colisiones (de ahí las distancias de la retícula) y no se incrustan imágenes. Para un diagrama de veinte cajas con posicionamiento fino, generar la base y ajustarla a mano en Excalidraw sigue siendo más rápido que iterar sobre el JSON.