Receber por email
← Voltar para o catálogo

style-direction

Abrir y operar el companion visual de Selina para elegir una direccion de estilo en proyectos con interfaz. Skill manual: levanta un servidor local y escribe artefactos visuales.

57estrelas
Atualizado há 4 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add 686f6c61/alfred-dev

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/style-direction/svg)](https://www.skillteca.com.br/skills/style-direction)

Alerta por categoria

Receba novas skills de Design e Frontend toda segunda

1 email curto, só com as skills novas de Design e Frontend. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Guía del servidor visual de Selina

Servidor local en navegador para mostrar sistemas de diseño y opciones visuales durante la fase de dirección de estilo. Funciona como un visual companion para enseñar el catálogo base de Selina, dejar que el usuario fije familia + tipografía + gama de color y cerrar después una ronda final de tres columnas.

Cuándo usar el servidor visual

Siempre que Selina genere opciones de estilo. El servidor es la herramienta principal de Selina: sirve tanto para enseñar la galería de 10 sistemas de diseño base como para el nuevo flujo guiado de selección y la ronda final de 3 propuestas comparables.

Arrancar sesión

visual/scripts/start-server.sh --project-dir /ruta/al/proyecto

Respuesta JSON esperada:

{
  "type": "server-started",
  "port": 7432,
  "url": "http://localhost:7432",
  "screen_dir": "/ruta/al/proyecto/.alfred-dev/visual/<pid-timestamp>/content",
  "state_dir": "/ruta/al/proyecto/.alfred-dev/visual/<pid-timestamp>/state",
  "state": "ready"
}

Guarda screen_dir (directorio donde escribir los HTML de opciones) y state_dir (directorio donde leer eventos de clic y verificar estado del servidor).

El fichero state_dir/server-info contiene el mismo JSON emitido en el arranque. Léelo para comprobar que el servidor sigue activo antes de cada operación.

Indica al usuario que abra la URL en el navegador.

El ciclo

  1. Comprueba que el servidor sigue activo leyendo STATE_DIR/server-info.
  2. Si aporta contexto, genera primero la galería del catálogo con python3 visual/scripts/write-style-demo-gallery.py --visual-path "$STATE_DIR".
  3. Flujo guiado recomendado:
  4. python3 visual/scripts/write-style-selector.py --visual-path "$STATE_DIR" para elegir el sistema base.
  5. lee la elección con python3 visual/scripts/read-choice.py "$STATE_DIR".
  6. python3 visual/scripts/write-style-selector.py --visual-path "$STATE_DIR" --style-id "<style_id>" para que el usuario elija tipografía + paleta.
  7. vuelve a leer la elección con python3 visual/scripts/read-choice.py "$STATE_DIR".
  8. python3 visual/scripts/write-guided-style-options.py --visual-path "$STATE_DIR" para generar automáticamente la ronda final de 3 variantes a partir de esa selección.
  9. Flujo directo alternativo: si ya tienes las tres propuestas decididas, genera screen_dir/style-options.html con python3 visual/scripts/write-style-options.py --visual-path "$STATE_DIR". Si necesitas escribirlo a mano, usa la clase .style-grid.
  10. El sidecar JSON final debe vivir en screen_dir/style-options.json para poder generar luego el artefacto final sin reinterpretar la pantalla.
  11. Informa al usuario: recuerda la URL, resume qué se muestra, pide que elija una opción.
  12. En el siguiente turno: lee la elección final con python3 visual/scripts/read-choice.py "$STATE_DIR" o, si lo prefieres, inspecciona STATE_DIR/events directamente.
  13. Genera docs/style-direction.md con python3 visual/scripts/write-style-direction.py --project-dir "$PWD" --visual-path "$STATE_DIR" o, si necesitas control manual, escribe el artefacto tú misma usando el sidecar JSON.
  14. Escribe waiting.html en screen_dir para limpiar el navegador hasta la próxima acción.

Sidecar JSON recomendado

Para que el artefacto final salga con buen nivel, intenta que cada propuesta incluya al menos:

  • choice
  • name
  • concept o description
  • palette
  • typography
  • spacing_density o layout_density
  • tone o mood
  • sample_component o component_example
  • visual_principles o design_principles
  • layout_grammar o composition_grammar
  • surface_treatment o materiality
  • shape_language
  • motion_language
  • signature_elements o visual_motifs
  • implementation_guardrails o guardrails
  • prompt_seed o design_prompt
  • rationale o why
  • not_this_direction o anti_patterns
  • context_signals, audience o constraints

El writer canónico tolera sidecars incompletos y alias razonables, pero cuanto más específica sea la propuesta, menos genérica será la dirección final.

Regla crítica del flujo guiado

Si el usuario ya ha fijado familia + tipografía + paleta, las tres variantes finales deben seguir perteneciendo a ese mismo sistema. Lo que puede cambiar entre A / B / C es la composición, la jerarquía o el grado de expresividad, pero no la gramática base del sistema elegido.

Cuando generes sidecars manuales:

  • reutiliza la prompt_seed del sistema como semilla principal
  • arrastra siempre visual_principles, layout_grammar y signature_elements
  • usa implementation_guardrails para evitar que la variante se desvíe hacia otra familia
  • no mezcles referencias de una tendencia distinta solo para “hacerla más bonita”

Writer canónico de opciones

El helper recomendado es:

python3 visual/scripts/write-style-options.py --visual-path "$STATE_DIR"

Este script:

  • autodetecta style-options.json
  • normaliza aliases comunes del sidecar
  • escribe un fragmento HTML compatible con el servidor real
  • evita depender de assets externos que no existen en el repo

Si necesitas personalizar el copy de cabecera, acepta --title y --subtitle.

Selector guiado de sistema + tipografía + paleta

Selina ya puede trabajar en tres pasos naturales:

  1. Sistema base — python3 visual/scripts/write-style-selector.py --visual-path "$STATE_DIR"
  2. Tipografía + paleta — python3 visual/scripts/write-style-selector.py --visual-path "$STATE_DIR" --style-id "<style_id>"
  3. Tres variantes finales — python3 visual/scripts/write-guided-style-options.py --visual-path "$STATE_DIR"

read-choice.py sigue siendo el lector canónico entre pasos. Si la elección pertenece al flujo guiado, devolverá además parsed_choice con stage, style_id, font_pairing_id y palette_mode.

Estructura HTML de las opciones

El servidor ya envuelve fragmentos HTML en su frame propio e inyecta helper.js, así que no hace falta escribir un documento completo ni enlazar assets extra. Este es el formato recomendado:

<section class="style-screen">
  <div class="style-screen-header">
    <p class="style-screen-kicker">Selina propone</p>
    <h1>Selecciona una dirección visual</h1>
    <p class="style-screen-subtitle">Elige la propuesta que mejor encaja con el producto.</p>
  </div>
  <div class="style-grid">

    <div class="style-option" data-choice="A">
      <div class="style-preview" style="background:#1a1a2e;">
        <span class="style-letter">A</span>
      </div>
      <div class="style-meta">
        <h2>Oscuro espacial</h2>
        <p>Contraste alto, tipografía sans-serif, sensación tecnológica.</p>
        <div class="palette">
          <span class="swatch" style="background:#1a1a2e;" title="#1a1a2e"></span>
          <span class="swatch" style="background:#e94560;" title="#e94560"></span>
          <span class="swatch" style="background:#ffffff;" title="#ffffff"></span>
        </div>
      </div>
    </div>

    <div class="style-option" data-choice="B">
      <div class="style-preview" style="background:#f5f0e8;">
        <span class="style-letter">B</span>
      </div>
      <div class="style-meta">
        <h2>Editorial cálido</h2>
        <p>Tonos crema, serif clásico, aire de revista de lujo.</p>
        <div class="palette">
          <span class="swatch" style="background:#f5f0e8;" title="#f5f0e8"></span>
          <span class="swatch" style="background:#c8a96e;" title="#c8a96e"></span>
          <span class="swatch" style="background:#2c2c2c;" title="#2c2c2c"></span>
        </div>
      </div>
    </div>

    <div class="style-option" data-choice="C">
      <div class="style-preview" style="background:#0d7377;">
        <span class="style-letter">C</span>
      </div>
      <div class="style-meta">
        <h2>Minimalismo vibrante</h2>
        <p>Verde azulado saturado, mucho espacio negativo, tipografía condensada.</p>
        <div class="palette">
          <span class="s
Compartilhar X LinkedIn