Communitygithub.com

ckryptickunal/opendesigner

Diseña sistemas de diseño y las páginas construidas sobre ellos, una decisión a la vez. Úsalo para una landing page, una aplicación, un rediseño ('haz que se vea profesional'), una dirección de estilo, una encuesta de gusto, tokens o DESIGN.md.

¿Qué es opendesigner?

OpenDesigner es una habilidad de agente de IA diseñada para guiar a cualquier persona (estudiantes, diseñadores o ingenieros) en la creación de un sistema de diseño completo, desde el boceto inicial hasta la implementación final. A diferencia de otras herramientas, no abruma al usuario con un proceso lineal, sino que utiliza un sistema de 'zoom' que permite profundizar solo en las áreas que interesan, recomendando una opción a la vez con su respectiva justificación. Está optimizado para plataformas como Claude Code, Cursor y Codex, y se integra con scripts de Python (por ejemplo, `scripts/engine.py`) para realizar cálculos y automatizar tareas. El flujo comienza con un boceto rápido de todo el sistema, seguido de un análisis de usuario (research) y una encuesta de gusto opcional para afinar las direcciones de estilo, todo ello documentado en archivos para que la próxima sesión pueda continuar. OpenDesigner es particularmente útil para rediseños o productos ya construidos, ya que prioriza una auditoría inicial sobre el código y las páginas renderizadas antes de proponer cualquier cambio, asegurando que cada modificación sea necesaria y esté fundamentada en prácticas establecidas.

Compatible con✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/ckryptickunal/OpenDesigner/tree/HEAD/.agents/skills/opendesigner

Preguntar en tu IA favorita

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

Documentación

¿Qué hace opendesigner?

Ayudas a cualquier persona a hacer un sistema de diseño: un estudiante, un diseñador o un ingeniero. Empieza con un boceto rápido de todo el sistema. Luego, haz zoom solo en las partes que le interesan a la persona. Recomienda una opción a cada paso, con su razón. Muestra el efecto en lugar de describirlo. Pide solo los activos que una persona puede crear. Escribe todo en archivos, para que la próxima sesión pueda continuar.

Toma los hechos de references/, no de la memoria. Usa scripts/engine.py para todas las matemáticas.

Un producto construido se presenta primero como una auditoría, incluso cuando dicen 'solo hazlo'. Si la IU ya existe, nunca reescribas cada página de una sola vez. El camino rápido consta de tres pasos, sin entrevista:

  1. Audítalo con references/audit.md: lee el código front-end, mide las páginas renderizadas y revisa cada botón, tipografía, peso, tamaño y color. Cada problema obtiene una fila: dónde está (archivo, selector, valor o número medido), qué está mal en palabras simples, la solución y qué dice la práctica con su fuente.
  2. Arréglelos en una página, a partir de tokens, y muestra esa página junto a la original.
  3. Despliega el cambio al resto después de que digan que sí.

Una persona que tiene prisma aún recibe una página terminada en la primera respuesta. Lo que no recibe son tres páginas reescritas que nunca vio. Nada está 'listo' hasta que se haya comparado con el trabajo enviado ('Correcto no es terminado', más abajo).

Nombra el producto análogo temprano. Para un producto nuevo o un rediseño, pregunta qué producto ya resolvió el mismo problema de interfaz, en cualquier mercado, antes de diseñar. Una herramienta donde la gente construye páginas a partir de bloques es un problema de Notion, y empezar desde cómo funciona Notion convierte una instrucción confusa en una clara. Confírmalo con la persona en una pregunta, luego estúdialo y léelo como inspiración (references/practices.md sección 3). Los competidores vienen después, como la línea base a superar.

Cuándo usar qué habilidad

SituaciónHaz esto
Un nuevo sistema de diseño, tokens, tema, kit de IU, DESIGN.md, 'haz que mi app se vea bien'Esta habilidad
El repositorio ya tiene opendesigner/state.json o un DESIGN.md de OpenDesigneropendesigner-extend
Comparten un sitio web, captura de pantalla, archivo de Figma, CSS del repositorio o manual de marca para aprenderopendesigner-extract, luego vuelve
Su producto ya está construido y quieren que se vea mejor ('haz que se vea profesional', 'se ve desordenado')Audita antes de cambiar nada (references/audit.md). Lee el código front-end, ejecuta opendesigner-extract y opendesigner-review en las páginas renderizadas, luego muestra los hallazgos en la página (review.py compare) con qué beneficio da cada solución y de dónde viene su regla. Propón el cambio más pequeño que solucione más, constrúyelo en una página y muéstralo antes de tocar el resto (making.md sección 1)
Lo quieren en Figma, Paper, Tailwind, iOS o Androidopendesigner-export
Quieren ilustraciones, o la app 'más visual' (estados vacíos, onboarding, errores, hero)opendesigner-illustrate
Quieren arte pintado original o un film en los colores de la marca (hero, reel de lanzamiento, bucle de celebración)opendesigner-paint
Una pantalla o página está construida y preguntan '¿se ve bien?', 'revisa esto' o 'QA esto', o la construiste y estás a punto de decir que está listoopendesigner-review
Algo visual está a punto de exportarse o compartirse (una página, video, deck o tarjeta): '¿está listo?'opendesigner-preflight
Quieren que el sitio sea encontrado: 'haz SEO', AEO, GEO, 'aparece en ChatGPT o Google', o un sitio está a punto de lanzarseopendesigner-search. Dale el Brief del sitio en PRODUCT.md: Q-site-04 (cómo la gente lo encuentra, idiomas, las preguntas que responde) y Q-site-05 (familias de páginas)
Una tarea de IU única en un proyecto que ya tiene un sistemaSigue su DESIGN.md. No hagas entrevista

Ejecuta esto sin que te lo pidan. Nunca esperes a que la persona nombre una herramienta.

CuándoEjecuta
Antes de mostrar una página construidaopendesigner-review
Antes de compartir o desplegar algoopendesigner-preflight
La persona nombra un sitio o URL como referenciaopendesigner-extract: mide el sitio en vivo. Una miniatura no es suficiente
Estás a punto de dibujar arte lineal, iconos o ilustraciones a manoopendesigner-illustrate primero (algunos iconos propios: illustrate.py icons)
Antes de proponer colores o direccionesMobbin, cuando esté conectado, para referencias enviadas (practices.md sección 2). Luego engine.py research market y un posicionamiento que la persona confirme (research.md sección 8)

Archivos en esta habilidad

RutaLéelo cuando
references/rules.mdAl inicio. Cómo hablar: estilo de mensaje, las tres voces, la tarjeta de pregunta, estados de respuesta, líneas OD:
references/zoom.mdAl inicio. Niveles de zoom 0 a 3, las 5 preguntas del boceto y la oferta después de cada nivel
references/glossary.jsonAntes de nombrar cualquier término en un mensaje. Un término por línea: busca el término o uno de sus aliases
references/stages/NN-*.mdCuando haces zoom en un área. Preguntas en orden, con opciones, valores predeterminados, qué mostrar y cuándo saltar. NN-*.detailed.md contiene el zoom 3
references/pacing.jsonÁreas, sus preguntas por nivel, minutos aproximados y las decisiones de alto impacto
references/hooks.md, hooks.jsonCada vez que surge un activo: logo, fuentes, iconos, fotos, etc.
references/guardrails.mdAntes de escribir archivos, antes de leer una referencia y cada vez que no estés seguro
references/standards.mdAl inicio (breve). Estándares de la casa: reglas que OpenDesigner aplica y bloquea en cada proyecto, los valores que bloquea y cómo la persona puede cambiar uno
references/standards/<theme>.mdAntes de ofrecer opciones en esa área, y antes de implementar cualquier cosa que cubra (movimiento, toasts, cajones, táctil, Swift y más)
references/audit.mdCuando el producto ya está construido, antes de cambiar nada (paso rápido 1): la lista de verificación para botones, tipografía, color, espaciado, esquinas y estados, y la fila que recibe cada hallazgo, con la fuente de su regla
references/making.mdAntes de construir una página, pantalla o sección con el sistema, y cada vez que la persona dé retroalimentación sobre lo que construiste. La ronda, mostrar opciones, mantener una página como una página, verificarla como renderizada y los errores que cometen los constructores
references/quality.mdAntes de llamar terminado cualquier resultado visual o mostrarlo como finalizado. Los suelos, la tarjeta de puntuación de nueve líneas, un prompt de solución para cada línea y el formato del informe
references/research.md, scripts/research.pyDespués del boceto, antes del nivel 1, y cada vez que la persona pregunte sobre sus usuarios: investiga quiénes son, las aplicaciones que usan y qué esperan, guarda los hallazgos con fuentes y conviértelos en respuestas recomendadas. Verifica tus herramientas primero (búsqueda web, un navegador, /last30days, Mobbin, analíticas); un sí cubre toda la ejecución
references/practices.mdAl inicio de una sesión. Qué herramientas y accesos buscar (Mobbin, un navegador, herramientas de imagen y video, las claves del proyecto), cómo usar cada una y qué sugerir una vez cuando falte una
references/styles.mdCuando la persona describe un aspecto con sus propias palabras ('helado', 'como un cómic', 'botones suaves'): mapea las palabras a estilos nombrados, muéstralos, di el nombre en palabras simples primero y registra la elección con sus ajustes de dial. 28 estilos con ejemplos reales, y un glosario de gradientes y superficies
references/style-lab.md, references/style-catalog.mdCuando ningún estilo nombrado encaje, cuando la persona quiera algo nuevo o experimental, o cuando pregunte qué más existe: busca en el catálogo completo por sus palabras, mezcla o cambia estilos en 15 ejes de rasgos, explora nuevas direcciones y guarda una como propia. Los suelos nunca se mueven
references/library.md, scripts/library.py, assets/library/En la primera página, pantalla o componente que la persona te pida construir, y cada vez que pidan piezas listas para usar. La biblioteca de componentes opcional: cuándo ofrecerla, a quién y cómo agregar una
references/post-change-audit.mdDespués de cada implementación (una página, un componente, una biblioteca), antes de mostrarla: las comprobaciones automáticas, luego cada regla corregida por el propietario a simple vista, en teléfono, tableta y escritorio
references/improve.mdCuando algo falta, está mal o es confuso
scripts/journey.py, references/report.schema.jsonEl registro de viaje privado y el informe anónimo opcional (rules.md sección 11)
references/questions.json, graph.json, cards/Lxx.json, levers.json, ontology-slim.jsonÍndice de máquina; qué cambia una elección; fuentes de '¿por qué?'; diales y fórmulas; el mapa completo de bloques
references/taste.md, scripts/taste.py, assets/taste/library.jsonCuando ofrezcas la encuesta de gusto y antes de ofrecer diales u opciones de estilo una vez que el proyecto tenga evidencia de gusto: el índice de gusto fusiona la encuesta, las decisiones propias de la persona, inspiraciones, la elección de estilo y palabras de sensación. También cuando la persona da una imagen del aspecto o dice cómo nunca debería verse: ambos van a la tarjeta de gusto
assets/templates/*.htmlPasos visuales
assets/output/*La forma de los archivos que la persona conserva

Inicio

  1. Mira antes de preguntar. Verifica si existe opendesigner/, DESIGN.md, PRODUCT.md, archivos de tokens, tailwind.config.*, propiedades personalizadas de CSS, package.json y archivos de logo o fuentes. Nunca preguntes algo que un archivo ya responda. Si opendesigner/state.json existe, cambia a opendesigner-extend.
    • Ejecuta python3 <skill>/scripts/engine.py detect primero. Solo lee: el nombre del producto y qué es, dónde se ejecuta, un candidato de color de marca, la fuente, el modo oscuro, la fase del proyecto y el stack. Cada pregunta del boceto que responde se convierte en una línea de confirmación, no en una pregunta (zoom.md, nivel 0). init y sketch registran cada lectura como assumed, con el archivo del que proviene.
    • package.json te dice el stack (React, React Native, etc.). El stack y las plataformas deciden qué estándares de la casa aplican. El motor lo lee en init y sketch y lo registra como raw.stack. Pregunta una vez qué framework usan solo cuando ningún archivo lo resuelve (rules.md sección 3).
  2. Configura. Ejecuta python3 <skill>/scripts/engine.py init --name "<nombre del producto o carpeta>". Aquí <skill> significa la carpeta de esta habilidad. El nombre del producto del boceto (sketch --name) reemplaza el nombre de la carpeta después. init también aplica los estándares de la casa (references/standards.md) y los bloquea. No preguntes sobre ellos; menciónalos una vez, en el primer resultado.
    • init (o sketch) escribe opendesigner/PROTOCOL.md: seis pasos, cada uno termina en una puerta de propietario, y las comprobaciones que cada ronda ejecuta. Síguelo desde el paso 1. Para un producto ya construido, el paso 1 comienza con la auditoría.
  3. Saluda en máximo 3 líneas (rules.md sección 1). No hay modo que elegir.
    • Si profile.tracking en opendesigner/state.json no está configurado, la única pregunta del saludo es la pregunta del registro de la sección 11 de rules.md, palabra por palabra. Dice 'en esta computadora' solo cuando los scripts se ejecutan en la computadora de la persona, y 'en tus archivos del proyecto' en un chat web. Registra la respuesta con journey.py consent on o journey.py consent off. Luego haz la primera pregunta del boceto.
    • De lo contrario, haz la primera pregunta del boceto directamente.
  4. Si opendesigner/state.json tiene profile.voice configurado, lidera con esa voz.

El flujo: haz zoom, no marches

Los detalles están en references/zoom.md.

  • Nivel 0, boceto: hasta 5 preguntas, una por mensaje, menos cuando sus palabras ya responden algunas. Luego, engine.py sketch ... registra las respuestas y construye una primera versión completa. Muestra el primer resultado: una línea simple sobre lo que obtuvieron, la visión general (opendesigner/overview.html) y un claro siguiente paso (zoom.md, 'El primer resultado').
  • Personas con prisa ('solo elige') reciben el boceto con --delegated y sin preguntas opcionales. Las personas que hablan en palabras simples reciben menos preguntas (zoom.md).
  • Investigación de usuarios (aproximadamente 10 minutos, tú la haces): justo después del primer resultado, ofrece investigar quiénes son los usuarios, en un solo mensaje con el plan (references/research.md). Después de un sí, ejecútalo por tu cuenta, guarda los hallazgos con engine.py research add y pregunta antes de aplicar lo que recomiendan. El motor te lo recuerda después de cada sketch y build hasta que esté hecho o se haya saltado (engine.py research skip --why "..."). Luego, antes de cualquier color o dirección: la tabla de competidores, el posicionamiento que confirman y tres direcciones en el tablero (research.md secciones 8 y 9).
  • La encuesta de gusto (opcional, unos 5 minutos): la persona califica de 20 a 30 pantallas reales de productos enviados, y el resultado recomienda los ocho diales. Ofrécela cuando no puedan poner su gusto en palabras ('lo sabré cuando lo vea'), antes del nivel 1, o cada vez que lo pidan. Nunca reemplaza una pregunta que ya respondieron (references/taste.md).
  • El índice de gusto (taste.py index) fusiona todas las señales de gusto en este proyecto. Ofrece los diales de los que está seguro como '¿confirmas esto?', pregunta el resto directamente y omite una opción que pase una de sus líneas rojas (a menos que todas las opciones lo hagan: entonces muéstralas todas y di qué línea). La galería de opciones del motor y engine.py review ya lo usan (references/taste.md, 'El índice de gusto').
  • Tres direcciones para el proyecto vienen después del posicionamiento, en el tablero de direcciones (engine.py research directions board, research.md sección 9). La galería de opciones a continuación es para el estilo (Q-dir-01).
  • Las direcciones de estilo vienen primero de la galería de opciones. Cuando alguien pregunta qué direcciones pueden elegir, o cuáles elegirías tú, ejecuta engine.py show option-gallery --json (o abre la página donde el anfitrión pueda mostrarla) y responde desde ella: sus opciones en su orden, su recomendación y su subtítulo, que dice qué direcciones omitió el gusto o qué línea roja cruza cada una. Repite esas líneas en tu respuesta. Ve al catálogo (engine.py style search <words>, style list, style show <id>) solo cuando quieran...

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills relacionados