Sobre el proyecto

drawio-skill es una skill de código abierto para Agent Skills (licencia MIT) que permite a agentes de codificación con IA — Claude Code, Cursor, Copilot, OpenClaw, Codex, Autohand Code, Hermes, o cualquier host compatible con Agent Skills — generar, mantener y reutilizar diagramas profesionales de draw.io a partir de indicaciones en lenguaje natural y fuentes reales del sistema. Flujo de generación principal: la skill planifica el diseño, escribe XML .drawio, exporta un PNG borrador, auto-verifica el renderizado y corrige automáticamente superposiciones, etiquetas recortadas y bordes apilados (hasta 2 rondas), luego ejecuta un bucle de retroalimentación del usuario de 5 rondas antes de la exportación final. Hay once presets de tipos de diagrama integrados: ERD, Clase UML, Secuencia, C4, Arquitectura, ML/Deep Learning, Diagrama de flujo, SysML, BPMN, Topología de red y Carriles cruzados. El texto Mermaid (28 tipos estándar, incluyendo mindmap, gantt, timeline, journey, pie, sankey, kanban) se convierte a .drawio nativo editable en draw.io ≥ 30, y la herramienta raster2drawio.py reconstruye fotos de pizarras o PNG heredados como diagramas editables. Los importadores de fuente a diagrama cubren gráficos de importación de Python, JS/TS, Go y Rust, además de jerarquías de clases de Python; configuraciones de Terraform, Kubernetes y docker-compose con iconos oficiales de AWS/Azure/GCP/K8s; instantáneas de infraestructura en vivo desde `terraform show -json`, `docker inspect` y `kubectl get -o json`; DDL de SQL a ERD; OpenAPI/Swagger a diagramas de API coloreados por método HTTP; AsyncAPI a diagramas de arquitectura dirigida por eventos; Protocol Buffers a diagramas de mensajes/servicios; GraphQL SDL a diagramas de tipos de entidad; y GitHub Actions / GitLab CI a DAGs de pipelines. Los diagramas de secuencia usan líneas de vida y barras de activación calculadas; los modelos C4 son multipágina con clic para profundizar. El mantenimiento a largo plazo se maneja a través de un IR de diagrama que separa significado, procedencia y geometría, de modo que las vistas ejecutiva, de sistema, de despliegue, de flujo de datos y de seguridad pueden proyectarse desde un solo modelo. `diagramctl sync` realiza actualizaciones incrementales que preservan coordenadas, estilos y anotaciones ajustados manualmente, con eliminaciones mantenidas revisables. Las reglas de Diagrama-como-Test en YAML/JSON (acceso de internet a base de datos, ciclos, huérfanos, límites de confianza, contraste) se aplican mediante una GitHub Action oficial en cada PR, junto con una acción de PR que renderiza diffs visuales. Herramientas adicionales consultan componentes, propietarios y rutas; detectan puntos de articulación y alto acoplamiento; simulan propagación de fallos; y publican recorridos accesibles tipo Story. La deriva se visualiza como diffs codificados por colores entre dos diagramas o dos instantáneas en vivo, y un reproductor de lapso de tiempo reproduce cómo creció la arquitectura de un código base a través del historial de git. Compartir y reestilizar son operaciones de un solo comando: visor HTML interactivo con pan/zoom/búsqueda, presentación PowerPoint, SVG de flujo de datos animado, exportación a Mermaid o Markdown, runbook clicable y compresión de resumen ejecutivo. Los presets de estilo (predeterminado, corporativo, dibujado a mano, Okabe-Ito seguro para daltónicos, oscuro) pueden aprenderse del propio archivo .drawio del usuario; las variantes de etiquetas bilingües preservan el diseño; los mapas de calor basados en datos sombrean nodos desde CSV/JSON; y un modo de mapa de metro reestiliza pipelines como mapas de metro estilo Londres. La herramienta shapesearch.py resuelve cadenas de estilo exactas entre más de 10,000 formas oficiales de draw.io (AWS, Azure, GCP, Cisco, Kubernetes, UML, BPMN, ER, eléctricas, P&ID), mientras que aiicons.py resuelve 321 logotipos de marcas de IA/LLM (OpenAI, Claude, Gemini, Mistral, Llama, Cohere, DeepSeek, Qwen, Ollama, LangChain, HuggingFace, etc.) más 18 marcas de almacenes de datos (Redis, Postgres, MongoDB, Qdrant, Milvus, Supabase) que draw.io no incluye. Todo se controla mediante una única CLI `diagramctl` (doctor/build/sync/views/query/test/review/whatif/story/publish/transform) con flujos de trabajo principales solo con stdlib y sin conexión; un servidor MCP opcional expone los mismos comandos a Claude Desktop, Cursor, VS Code, Codex y cualquier host MCP. El diseño usa Graphviz (opcional) para colocación, enrutado ortogonal, reducción transitiva y contenedores de módulos anidados; un linter determinista validate.py proporciona compuertas `--score` y `--strict` para CI. La instalación requiere la CLI de escritorio de draw.io (≥ 30 recomendado) y `npx skills add Agents365-ai/drawio-skill -g`, o un clon manual en el directorio de skills del agente. El proyecto es parte de la familia de skills de diagramas de Agents365-ai junto con excalidraw-skill, mermaid-skill, plantuml-skill y tldraw-skill, cada uno dirigido a un estilo de diagrama diferente.