Convierte una descripción o un repositorio en un mapa de sistema interactivo, directamente en el chat de tu agente.
Archify es el Agent Skill de 51.000+ estrellas que está liderando el trending de GitHub: los agentes producen una especificación JSON IR tipada y Archify la compila de forma determinista a un HTML/SVG interactivo — sin mockups, sin auto-layout genérico y sin promesas de humo. Cinco tipos de diagrama (architecture, workflow, sequence, dataflow, lifecycle), validación atómica antes de entregar, comparación Before / Delta / After para revisar cambios antes del merge y exportación a PNG, SVG, WebM y share cards de 1200×630. Funciona con Cursor, Claude Code, Codex CLI, OpenCode, Raven y DeepSeek Harness.
Archify es un sistema de renderizado y validación escrito en Node.js que se entrega como Agent Skill: lo usas pidiéndole a tu agente de IA que dibuje un sistema, y el agente genera una especificación JSON IR tipada que Archify compila de forma determinista a un archivo HTML autocontenido con SVG interactivo. El resultado no es un mockup: es un artefacto que se puede abrir, explorar, exportar y compartir.
El caso de uso central es la comunicación de arquitectura: "turn a codebase or system description into a polished, interactive system map — directly in chat". Puedes partir de una descripción en lenguaje natural sin repositorio, o pedir evidencia real abriendo un repositorio para que el diagrama refleje el código.
| Dato | Valor |
|---|---|
| Repositorio | github.com/tt-a1i/archify |
| Estrellas | 51.681 (creado abril 2026) — nº1 del trending semanal con +17.000⭐ en 7 días |
| Licencia | MIT |
| Lenguaje / runtime | JavaScript / Node.js 18+ |
| Versión actual | v2.17.0-dev.1 (basado en Cocoon-AI/architecture-diagram-generator) |
| Agentes soportados | Cursor, Claude Code, Codex CLI, OpenCode, Raven, DeepSeek Harness, Claude.ai |
| Salida | HTML autocontenido + PNG, SVG, WebM y share cards 1200×630 |
El nombre de la marca resume su tesis: verificación. Cada diagrama pasa checks atómicos (esquema, layout, HTML/SVG, rutas y solapamientos) antes de que un artefacto "showcase" reemplace al último bueno conocido. Si algo falla, recibes un recibo de reparación con código de regla estable y correcciones soportadas, no un stack trace de Node.
Archify no es un editor de dibujo generalista ni un theme de Mermaid: convierte intención técnica en un artefacto de comunicación. Si necesitas dibujar a mano o re-estilizar Mermaid, esta no es la herramienta.
Archify se instala como skill en el agente que ya usas. La forma estándar usa el instalador de skills de npm:
$ npx skills add tt-a1i/archify -g
Para una instalación explícita y no interactiva en Cursor:
$ npx -y skills add tt-a1i/archify --skill archify --agent cursor --global --copy --yes
Para probar sin instalar nada, con Codex CLI:
$ npx skills use tt-a1i/archify@archify --agent codex
Cada agente guarda las skills en una ruta distinta: Claude Code usa ~/.claude/skills/ o .claude/skills/ del proyecto; Codex CLI usa ~/.agents/skills/ o .agents/skills/; OpenCode usa ~/.config/opencode/skills/, .opencode/skills/ o .agents/skills/. Raven se instala descomprimiendo archify.zip en ~/.raven/workspace/skills.
Con Cursor, Claude Code o Codex: npx skills add tt-a1i/archify -g. Con Raven: extrae el ZIP manualmente. Con DeepSeek Harness (comunitario): dsh plugin --profile web add @tt-a1i/archify-dsh@0.1.0.
Dentro del directorio de la skill, ejecuta el diagnóstico que comprueba el runtime y los binarios:
$ cd archify
$ node bin/archify.mjs doctor
$ node bin/archify.mjs demo /tmp/archify-demo # genera un ejemplo de referenciaYa puedes pedir en el chat: "Use archify to draw: Browser -> API -> Redis cache -> PostgreSQL fallback". El agente elige tipo, escribe el JSON y lo valida antes de entregarte el HTML.
Archify solo consulta un manifiesto fijo para mostrar un aviso opcional de actualización; no descarga ni instala nada por su cuenta. Si prefieres cero red: ARCHIFY_UPDATE_CHECK_DISABLED=1.
No confundas el runtime de la skill (Node 18+ según el cookbook oficial) con los requisitos del plugin de DeepSeek Harness (Node ^22.19). Revisa la documentación de tu integración concreta si doctor falla.
El camino rápido no requiere clonar nada: describes el sistema en el chat y el agente hace el resto. Ejemplo mínimo:
> Use Archify to draw: Browser -> API -> Redis cache -> PostgreSQL fallback.
Para un diagrama con criterio de arquitectura, da alcance, componentes y un camino principal. Un prompt que funciona bien:
> Analyze this repository, then use archify to create a high-level
> runtime architecture diagram. Show 8-12 core components, one primary
> path, external dependencies, and trust boundaries.
> Put supporting detail in cards instead of adding more edges.
Después iteras en el propio chat con peticiones quirúrgicas: "add Redis", "move auth to the left", "highlight the rollback path". Archify conserva el JSON fuente tipado para que los cambios no desbaraten la estructura ya validada.
Regla de autoría sana: un camino principal obvio, ramas cortas, etiquetas escasas y como mucho 12 nodos primarios. El detalle va en tarjetas (cards), no en más aristas. Si un nodo no aporta a la pregunta que el lector quiere responder, no lo dibujes.
Pedir "el diagrama de todo el sistema" sin alcance produce mapas densos que Archify rechaza o que nadie lee. Acota primero: qué componentes, qué camino principal, qué fronteras de confianza.
Todo renderizado con Archify parte de una especificación con esquema: JSON IR (Intermediate Representation). El agente la escribe a partir de tu descripción; tú normalmente no la tocas a mano, pero entenderla te da control sobre la calidad.
Estructura mínima de un fuente: schema_version, diagram_type, meta.title y los arrays estructurales del renderer (nodos y relaciones). El perfil de calidad vive en meta.quality_profile: standard para explorar y showcase para un artefacto pulido o una prueba "checked-in". Un fragmento ilustrativo (consulta archify/schemas/ para los campos exactos):
{
"schema_version": 2,
"diagram_type": "architecture",
"meta": {
"title": "Web App con caché Redis",
"quality_profile": "showcase"
},
"nodes": [
{ "id": "browser", "type": "frontend", "label": "Browser" },
{ "id": "api", "type": "backend", "label": "API Server" },
{ "id": "cache", "type": "database", "label": "Redis" },
{ "id": "db", "type": "database", "label": "PostgreSQL" }
],
"relationships": [
{ "from": "browser", "to": "api", "label": "HTTPS" },
{ "from": "api", "to": "cache", "label": "cache read" },
{ "from": "api", "to": "db", "label": "fallback query" }
]
}
| Tipo de componente | Para representar |
|---|---|
frontend | Navegadores, apps de escritorio, móviles |
backend | Servicios, APIs, workers |
database | Bases de datos, cachés, almacenes |
cloud | Regiones, infraestructura gestionada |
security | Proxies, WAF, fronteras de confianza |
messagebus | Kafka, colas, event brokers |
external | Dependencias de terceros |
Las variants (default, emphasis, security, dashed) matizan visualmente nodos del mismo tipo. Las etiquetas de relación son datos semánticos: no se borran para "arreglar" la geometría; se mueven o se acortan conservando el significado (protocolo, acción, dirección, sincronía).
Un candidato que omite o escribe mal meta.quality_profile se corrige antes de tocar geometría. Y una vez que la validación final pasa, el candidato queda congelado: nunca lo edites después — si cambia algo, vuelve a validar.
Archify tiene cinco renderers, cada uno con su esquema, su ejemplo checked-in y sus invariantes de layout:
| Tipo | Mejor para | Qué incluir en el prompt | Ejemplo de partida |
|---|---|---|---|
| Architecture | Componentes, servicios, almacenamiento, fronteras | Alcance, componentes core, camino principal | examples/web-app.architecture.json |
| Workflow | CI/CD, aprobaciones, tool calls, runbooks | Participantes, orden, ramas, excepciones | examples/agent-tool-call.workflow.json |
| Sequence | Llamadas API, fallos de caché, auth, trazas async | Callers, callees, returns, timing | examples/cache-miss-request.sequence.json |
| Data Flow | Pipelines, lineage, PII, consumidores | Fuentes, transformaciones, almacenes, límites | examples/product-analytics.dataflow.json |
| Lifecycle | Estados, retries, esperas, estados terminales | Estados, eventos, rutas de retry y cancelación | examples/agent-run.lifecycle.json |
¿No sabes cuál elegir? Pregunta al guía de escenarios, una utilidad CLI sin dependencias que recomienda tipo y devuelve una receta (no dibuja por ti):
$ node archify/bin/archify.mjs guide "Show an API request with Redis cache miss"
$ node archify/bin/archify.mjs guide "Map Kafka topics, consumer groups, replay, and DLQ" --json
Archify también acepta Mermaid como entrada — pero como intención, no como estilo: lee la topología y re-autoriza JSON fresco. Los flowchart/graph se mapean a workflow (o architecture si es un mapa de componentes); los sequenceDiagram a sequence; los stateDiagram a lifecycle.
Para diagramas nuevos de workflow, usa schema_version: 2 (contrato de layout legible). Reserva el v1 solo cuando debas preservar geometría fija de un workflow existente.
El flujo de trabajo de Archify es un pipeline explícito con cinco etapas. Cada una tiene su comando y su contrato:
| Etapa | Qué ocurre |
|---|---|
| Generate | El agente crea el JSON IR tipado desde tu descripción. |
| Validate | Validadores y reglas de layout comprueban el fuente; los fallos identifican la reparación local exacta en JSON legible. |
| Preview (opcional) | Sesión de escritorio loopback que observa un JSON y recarga solo revisiones validadas; los fallos conservan el último artefacto bueno. |
| Deliver | Un candidato en el mismo directorio se renderiza y comprueba; solo un artefacto que pasa reemplaza atómicamente al destino. |
| Iterate | El agente actualiza el fuente mientras la estructura no relacionada permanece estable. |
Los comandos clave, ejecutados desde el directorio archify/:
$ node bin/archify.mjs validate workflow examples/agent-tool-call.workflow.json --quality showcase --json
$ node bin/archify.mjs preview workflow examples/agent-tool-call.workflow.json /tmp/workflow.html --quality showcase
$ node bin/archify.mjs deliver workflow examples/agent-tool-call.workflow.json /tmp/workflow.html --quality showcase --open --json
preview es un modo de escritorio explícito y solo-loopback: observa un JSON en un puerto aleatorio de 127.0.0.1, mantiene la última salida verificada ante fallos, termina con Ctrl-C y no añade runtime al HTML generado. Usa --no-open para tests o apertura manual. deliver --open es una entrega one-shot opt-in tras el commit: si el opener falla, el éxito no se pierde — el JSON queda en stdout y la ruta absoluta alternativa en stderr.
Un exit code distinto de cero nunca es éxito. Y si una entrega falla, no ejecutes visual-check sobre esa ruta: inspeccionaría el artefacto bueno anterior (stale), no el candidato fallido. Corrige solo el subject diagnosticado, verifica el evidence, elige entre los supportedFixes y repite.
Archify separa la validación mecánica de la opinión estética: el CLI te da recibos JSON con reglas estables, y la revisión visual final es tuya (o de un revisor con imagen).
Con --json, validate y deliver emiten un único objeto JSON. En éxito, el recibo contiene los artifact checks y el resumen de composición. Un pase showcase exige los 9 checks de artefacto con 0 errores de composición y 0 warnings (un recibo con solo 4 checks es validación básica, nunca aceptación showcase).
En fallo, el recibo incluye un stage y un array diagnostics[]. Cada diagnóstico nombra el subject exacto, la evidence medida y solo los supportedFixes permitidos — sin stack traces de Node ni intentos de reparación a ciegas.
node bin/archify.mjs validate architecture path/to/diagram.json --quality showcase --json. Usa standard mientras exploras y showcase para el artefacto final.
Si falla, el recibo dice qué nodo o ruta es el subject, qué se midió y qué correcciones soporta el sistema. Aplica como mucho un control geométrico diagnosticado por reparación (via, channelX, channelY, labelAt…).
Continúa la corrección enfocada mientras el recuento de errores baje a un nuevo mínimo. Si dos rondas consecutivas no mejoran el mejor recuento, detente y reporta los diagnósticos pendientes con honestidad.
Para problemas de placement en Architecture, node bin/archify.mjs inspect architecture path/to/diagram.json da la salida de layout en formato máquina. Para workflow v2, --layout-json expone el recibo del compilador.
Mantén separadas las tres afirmaciones: deliver prueba checks deterministas, visual-check prueba comportamiento acotado en un navegador real, y la revisión perceptual (¿se ve bien?) requiere un humano o un revisor con capacidad de imagen. Nunca reportes inspección visual que no hiciste.
Uno de los superpoderes de Archify es revisar cambios de arquitectura antes de fusionarlos: compara dos instantáneas validadas como Before / Delta / After, con un recibo en máquina que lista hechos exactos añadidos, eliminados, modificados, movidos y reruteados.
$ node bin/archify.mjs compare architecture base.json head.json \
architecture-delta.html --quality showcase --json
El comando escribe el HTML y un recibo sidecar a su lado. Es ideal para la review de PRs: seleccionas un cambio autorado (o reproduces una revisión finita solo-viewer) y el diagrama muestra qué hechos de topología cambian — sin inferir impacto, riesgo ni seguridad de merge. Para diagramas de despliegue en producción, el perfil deployment-ownership falla cerrado (fail-closed) cuando faltan propietarios autorados, colocación regional, alcance de bases de datos privadas o cruces nombrados: nunca es implícito y no inspecciona infraestructura viva.
Una revisión Delta "en la que confías" porque la dibujó una IA es un malentendido: la comparación es un hecho de autoría (qué cambió en el JSON), no una valoración de riesgo. La decisión de merge sigue siendo del equipo.
Úsalo también como documentación viva: cada PR de arquitectura puede adjuntar su architecture-delta.html para que el revisor vea la topología moverse, no solo el diff de texto.
El HTML generado incluye de serie un visor de escritorio autocontenido: cambio de tema, pan/zoom, búsqueda, focus, trazado de relaciones, vistas semánticas, presentación y exportaciones veraces. No es trabajo extra de autoría — son capacidades del lector.
Atajos principales del visor:
| Acción | Control |
|---|---|
| Abrir la guía factual del diagrama | ? |
| Buscar y enfocar un nodo semántico | / |
| Trazar reach upstream/downstream autorado | Focus nodo → Upstream / Downstream |
| Probar una ruta dirigida e inspeccionar su viaje | R o PATH |
| Comparar uno o dos roles semánticos | L o LENS |
| Abrir el radar general en vivo | M o MAP |
| Reproducir una historia guiada / cambiar capítulo | P / [ ] |
| Entrar en modo presentación | F |
| Estilo visual / tema / exportar | S / T / E |
| Zoom / reset | + - 0 |
Los enlaces estables restauran estado: #focus=<id>, #focus=<id>&reach=upstream|downstream, #relation=<id>, #route=<source>~<target>, #lens=<kind>~<kind> y #view=<view-id>. La animación dirigida por el lector es finita, respeta prefers-reduced-motion y nunca entra en las exportaciones canónicas.
El menú Export copia PNG al portapapeles y descarga formatos estáticos o con movimiento: PNG, SVG, WebM y HTML autocontenido. Copy Share Card genera la imagen canónica 1200×630 para README, releases o redes; tras trazar una ruta, Export → Route Share Card descarga ese camino exacto como PNG 1200×630 con el diagrama completo como contexto; y tras trazar reach, Reach Share Card captura esa lectura sin afirmar impacto en runtime.
El estilo visual se controla con meta.visual_preset (signal-flow, blueprint, classic, editorial) y el tema (dark/light) es independiente del preset: cambiar Light/Dark preserva el preset actual. meta.locale (en | zh-CN) localiza solo la UI del visor; el contenido autorado nunca se traduce automáticamente.
Abre siempre el HTML real a 1440×900, 1600×1000 y 1920×1080 antes de entregar. Si el scroll del documento no cabe en la ventana, repara quitando contenido redundante o compactando espaciado — nunca con overflow:hidden, recortes o tipografía más pequeña.
Cuando el diagrama debe reflejar código real, Archify puede anclar nodos a evidencia de repositorio: los nodos Evidence-backed se marcan como SRC n y abren archivos y rangos de líneas verificados por Git, fijados a un commit público. Se añade metadatos del repositorio (origin, commit, blobs, líneas solicitadas) al JSON y se pasa la ruta local:
$ node bin/archify.mjs validate architecture path/to/diagram.json \
--repo-root path/to/repository --quality showcase --json
Archify verifica origin, commit, blobs y líneas: no añadas evidencia fuente cuando el repositorio o la revisión no se puedan verificar. Los artefactos ordinarios se quedan sin evidencia; esta es opt-in y solo cuando la pides.
Para identidad de producto, Archify incluye marcas oficiales (brand marks). Si el nodo nombra un producto real con marca integrada, se pone su ID canónico en brand; si no existe preset y aportas la URL oficial, node bin/archify.mjs brands capture "<url>" --json captura el objeto con digest-pinning. Render y validate nunca hacen una captura sin pin. Y no se infiere una marca de un rol vago como "database": el type, la etiqueta y la relación son los hechos semánticos.
Por último, los límites explícitos del proyecto (léelos antes de prometer algo a tu equipo):
deployment-ownership no inspecciona infraestructura viva; trabaja solo con hechos autorados.visual-check mide comportamiento acotado en navegador; la aprobación perceptual final requiere un humano.Afirmar que un diagrama "refleja el código" sin evidencia anclada es la mentira más fácil del ecosistema agéntico. Archify existe precisamente para eso: si no hay SRC n verificado contra un commit, el mapa es una interpretación autorada — tan válida como su prompt, pero no una prueba.
El Proof Lab oficial (gallery.html) contiene los escenarios checked-in con sus JSON fuente, vistas nombradas y recibos de validación. Es el mejor banco de pruebas para estudiar cómo se ve un diagrama "showcase" de verdad.
No. El agente escribe el JSON IR por ti a partir de tu descripción. Conocer el esquema te ayuda a pedir mejores diagramas y a leer los recibos de validación, pero el flujo normal es 100% conversacional.
Cursor, Claude Code, Codex CLI y OpenCode de forma nativa; Raven mediante ZIP manual; DeepSeek Harness mediante plugin comunitario; y Claude.ai subiendo archify.zip en Settings → Capabilities → Skills (depende de que el sandbox tenga Node.js).
No exactamente: no es un theme de Mermaid. Acepta diagramas Mermaid (flowchart, sequenceDiagram, stateDiagram) como entrada, lee su topología y re-autoriza un JSON tipado con su propio layout semántico y validación. La salida es HTML interactivo, no SVG estático.
Sí, y es el camino recomendado para empezar: describe el sistema en el chat y Archify dibuja. La evidencia de repositorio (SRC n) es opcional y se activa solo cuando el diagrama debe reflejar código real.
Nada: licencia MIT, libre de usar, modificar y distribuir. Los costes son los de tu agente (tokens) y Node.js en tu máquina.