Communitygithub.com

hraness/graphics

Graphics es una CLI sin interfaz gráfica y una habilidad para agentes que permite crear diagramas pequeños y claros.

¿Qué es graphics?

Graphics es una herramienta de línea de comandos (CLI) y una habilidad para agentes de IA diseñada para generar diagramas pequeños, limpios y deterministas. Su propósito es actuar como un adaptador confiable que toma especificaciones literales del usuario y las convierte en representaciones visuales sin adornos innecesarios. La habilidad está pensada para agentes como Claude Code, Cursor o Codex, y se integra con sistemas de archivos locales, bases de conocimiento o repositorios. El flujo de trabajo se basa en archivos fuente `.diagram.json` que se editan manualmente, y se generan exportaciones como SVG (claro y oscuro), PNG (claro y oscuro) y un archivo `.tldr` para edición interactiva en tldraw offline. Graphics impone reglas estrictas de diseño visual: nada de títulos, leyendas o adornos no especificados; los colores se usan para una sola distinción semántica; las etiquetas deben ser cortas y literales. Incluye herramientas de verificación (`graphics check --strict`) y renderizado (`graphics render`) que garantizan que el diagrama final sea fiel a la intención original del usuario. También admite personalización de fuentes e iconos mediante archivos de configuración.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add hraness/graphics

Preguntar en tu IA favorita

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

Documentación

Crear diagramas claros

Usa la CLI graphics instalada como adaptador determinista. Mantén el archivo fuente .diagram.json como autoría; trata los archivos .light.svg, .dark.svg, .light.png, .dark.png y .tldr como exportaciones reemplazables.

Sigue el mensaje al pie de la letra

Trata el mensaje del usuario como la especificación completa del contenido.

  • Conserva las etiquetas, valores, relaciones, tamaños relativos y omisiones proporcionados.
  • Añade únicamente mecanismos neutrales necesarios para dibujar esos hechos.
  • No inventes títulos, subtítulos, leyendas, anotaciones, ejemplos, implicaciones, categorías, métricas, marcas, conectores ni afirmaciones decorativas.
  • No expandas una etiqueta corta a una oración. Prefiere la propia etiqueta de una a tres palabras del usuario.
  • Al actualizar, elimina el contenido rechazado sin reemplazarlo por una nueva elaboración.

Encuentra la fuente

  1. Lee las instrucciones del repositorio local y busca graphics.config.*.
  2. Busca un .diagram.json existente sobre el mismo tema antes de crear uno nuevo.
  3. Actualiza esa fuente en lugar de editar imágenes generadas o crear un duplicado.
  4. En una base de conocimiento con kb/, usa kb/diagrams/<slug>.diagram.json y combínalo con kb/notes/<slug>.md. Incrusta o enlaza la imagen renderizada clara/oscura según la convención del anfitrión, y enlaza el conocimiento a través de la nota, no a través de un lienzo binario.
  5. Fuera de una base de conocimiento, usa por defecto diagrams/<slug>.diagram.json.

Compón el visual

Lee visual-communication.md antes de crear o rediseñar un diagrama de manera significativa.

Aplica estos valores predeterminados en profundidad:

  • Usa rectángulos redondeados para conceptos ordinarios. Roles iguales obtienen tamaños, radios, grosores de trazo, tamaños de icono y tratamiento de etiqueta iguales.
  • Deja al menos 96 píxeles —y preferiblemente entre 120 y 200 píxeles— entre formas conectadas para que las flechas se lean como relaciones y no como costuras.
  • Coloca los iconos directamente dentro de su forma semántica. No coloques un mosaico de icono con borde dentro de otra tarjeta con borde.
  • Usa de tres a siete elementos primarios cuando el mensaje permita abstracción.
  • Establece un orden de lectura claro y alinea los pares con una cuadrícula compartida.
  • Usa espacio en blanco antes de bordes, colores o prosa para separar grupos.
  • Usa color para como máximo una distinción semántica. Nunca hagas cambios arbitrarios de tamaño o estilo que impliquen una diferencia que el mensaje no haya proporcionado.
  • Mantén los iconos como apoyo: una etiqueta debe seguir transmitiendo el significado.
  • Prefiere un límite visible por objeto y un trazo visible por eje o conector.

No “mejores” los datos literales para cumplir con estas preferencias. El mensaje gana.

Redacta y renderiza

Usa la URL del esquema público o ejecuta graphics init para obtener un inicio:

graphics check diagrams/<slug>.diagram.json --strict
graphics render diagrams/<slug>.diagram.json

El comando render sobrescribe las exportaciones consistentes del mismo tronco. Inspecciona tanto la salida clara como la oscura cuando el diseño o el contraste sea incierto. Atiende todos los hallazgos útiles del lint; cambia la fuente y luego vuelve a renderizar.

Si el repositorio usa su propia fuente o paquete de iconos, lee customization.md. No añadas MonoLisa ni otra fuente con licencia al repositorio. El renderizado por defecto usa la pila sans-serif del sistema.

Usa tldraw deliberadamente

El archivo .tldr generado es un intercambio editable y no requiere el SDK de tldraw ni la aplicación de escritorio para crearse. Ábrelo en tldraw Offline cuando una persona desee edición directa del lienzo:

graphics open diagrams/<slug>.tldr

Si la aplicación opcional no está presente, graphics desktop install descarga la versión oficial actual, verifica su digesto SHA-256 publicado e inicia el instalador de la plataforma. La aplicación importa .tldr como documento no guardado; guárdalo allí para crear su paquete nativo más reciente .tldraw. Nunca reescribas un paquete nativo .tldraw ZIP/SQLite directamente.

Verifica

  1. Ejecuta graphics check <source> --strict.
  2. Ejecuta graphics render <source>.
  3. Confirma que los cinco artefactos existen junto a la fuente o en el directorio de salida solicitado.
  4. Inspecciona la salida clara y oscura a tamaño real.
  5. Confirma que las formas pares no implican diferencias falsas.
  6. Confirma que los conectores son largos, están vinculados a las formas previstas en .tldr y no cruzan etiquetas.
  7. Si se requiere una nota complementaria, confirma su ruta y referencia visual.

Skills relacionados