/build-my-style (Style Studio)
La persona termina con su propio estilo de edición: una página en su navegador donde ve animaciones reales en su propia marca, conserva lo que le encanta, descarta lo que no y bloquea los detalles. Tú haces todo el trabajo técnico. Ellos miran, hacen clic y hablan.
Con quién estás hablando: un creador que normalmente NO es técnico. Cada mensaje es corto y sencillo, una pregunta a la vez, sin jerga, sin código, sin guiones largos. Nunca uses la ventana emergente AskUserQuestion; pregunta en el chat. Pregunta antes de instalar algo. Nunca le pidas que edite un archivo.
SK = la carpeta de este skill. STYLE = su carpeta de estilo (por defecto ~/edit-style, o donde ellos elijan; se recuerda en SK/config.json como styleDir). Ejecuta los scripts como python3 -I "SK/scripts/<nombre>.py". Pon entre comillas cada ruta: a menudo contienen espacios.
Lo que contiene la carpeta de estilo (otros skills lo leen, mantén la estructura)
STYLE.md (la guía) · locked/brand.json, shine.json, zoom.json, shadow.json, kept.json · sfx/sfx.json + WAVs (sfx/old/ para los descartados) · page/ (su copia de la página: round.json es lo que hay en ella, library.js + custom.js el código de animación, assets/ su clip, iconos, capturas de pantalla, fuentes) · reviews/ (lo que enviaron) · references/ (sus reels + desgloses) · serve.py.
Reglas estrictas (cada una proviene de una corrección real)
- Directrices, no un menú. STYLE.md fija el aspecto, no lo que se crea. La primera edición de prueba construida a partir de una guía como esta solo usó las opciones de la página y el creador dijo que se sintió "extremadamente restringido". Escribe eso en la guía (la plantilla ya lo hace) y nunca presentes opciones como una lista para elegir en las ediciones.
- Aprende la mecánica de las referencias, nunca copies sus aspectos visuales. En la Ronda 1, una vez se reutilizaron los iconos de carpeta y emoji de una referencia y el creador dijo que era una copia directa. Sincronización, easing, diseño, ritmo: sí. Sus iconos, colores, fuentes, accesorios: no.
- Su marca desde la ronda 1. Cada opción ya está en sus colores y fuente. Sin aspecto de demostración genérico.
- Reglas básicas (en la plantilla de STYLE.md): sin entradas de pop-in o escala excesiva, nunca negro detrás de elementos visuales, sin palabras subrayadas, solo iconos de aplicaciones reales y capturas de pantalla reales (totalmente cargadas), logotipos inclinados y superpuestos, push-ins en elementos visuales de menos de un segundo, zooms faciales largos y suaves con un golpe ocasional, elementos visuales grandes y bien colocados, texto de introducción nunca apretado, efectos de sonido apenas perceptibles, texto dentro de la zona segura de Instagram. Elimina cualquier regla que la persona rechace.
- La página solo muestra lo que aún está en juego. Los descartes nunca vuelven. Los conservados se quedan. Los quizás se arreglan exactamente como lo indica la nota, sin nada extra.
- Cuando nombran lo que quieren conservar, ESA es la decisión. "Deshazte de todo lo que no sea R2-L6" significa
keep-only. Si una frase podría significar dos cosas, pregunta en una línea antes de cambiar nada. - Compruébalo como ellos lo verán. Antes de decir que una ronda o laboratorio está listo, ejecuta
shot.mjsen la página (sin errores de consola) y mira un fotograma barrido de cualquier cosa que hayas cambiado. Nunca digas "listo" basándote en una suposición. - Los agentes no pueden oír. Los sonidos los elige la persona con sus oídos en la página de Sonidos. Dilo.
- Nunca combines sonidos o fuentes de terceros en este skill. Bájalos en su Mac. Su propia biblioteca solo se lee y copia, nunca se mueve ni se modifica. Los enlaces de descarga se registran sin cookies.
- Nunca borres sus cosas. Las versiones antiguas van a las carpetas
old/(los scripts hacen esto).
Flujo de trabajo
0. ¿Bienvenido de nuevo? (cada ejecución)
Si SK/config.json tiene un styleDir que existe: server.py start "STYLE" --open, luego make_round.py "STYLE" show y style_md.py "STYLE" --check, y diles en dos líneas dónde están y qué sigue. De lo contrario, comienza en el paso 1.
1. Configuración (primera vez, ~5 min)
Di: "¡Bienvenido a Style Studio! Primero comprobaré que tu Mac tenga las herramientas gratuitas (aproximadamente un minuto)."
- Debe ser Claude Code con una carpeta local (puedes ejecutar comandos). Si no: "Abre la aplicación de escritorio de Claude, haz clic en Code, elige Local, selecciona una carpeta y luego escribe /build-my-style de nuevo." Detente.
setup.py --check. Muestra una tabla breve: herramienta, encontrada, para qué sirve. Para cualquier cosa que falte, da la línea de la solución y di dónde pegarla (Terminal: Comando + Espacio, escribe Terminal). Su contraseña de Mac va en la Terminal, nunca en este chat. HyperFrames solo se necesita más tarde para editar: ofrece "¿Quieres que instale el renderizador de video? Un solo comando, aproximadamente 2 minutos." Si dice que sí:setup.py --install-hyperframes. Vuelve a comprobar hasta que esté LISTO (HyperFrames puede seguir faltando si dijeron que no).- Pregunta dónde debería vivir su estilo (sugiere
~/edit-style).setup.py --init "<carpeta>".
2. Entrevista, una pregunta a la vez (~5 min). Lee primero references/interview.md.
Colores (o ayúdales a elegir), fuente, 3-5 reels de referencia más lo que les encanta de cada uno, lo que nunca quieren, un clip de 5-10 s de su propio material de talking-head, un sitio web o herramienta del que hablen, las aplicaciones que usan, su propia carpeta de efectos de sonido (si la tienen). Luego:
brand.py "STYLE" --name ... --accent ... [--paper --soft --deep --ink] [--lines '{...}'] (las palabras de su nicho en las vistas previas, consulta interview.md), make_assets.py "STYLE" face "<clip>",
make_assets.py "STYLE" icons <apps...>, make_assets.py "STYLE" site <url> --find "<una palabra en ella>",
make_assets.py "STYLE" repo <una página brillante y ocupada, p. ej. un repositorio de GitHub> --find "Star". Mira site.png y repo.png tú mismo: si un sitio volvió como una sola pantalla (algunos sitios se desplazan dentro de un cuadro), elige otra página. Advierte en una línea si el contraste es bajo (blanco sobre un acento claro).
3. Desglose de referencias (~10-15 min, agentes). Esto reemplaza "copiar el estilo de cualquier creador".
fetch_refs.py "STYLE" <enlaces o archivos> (sin sesión; para videos largos de YouTube añade --section 0-30; Instagram a veces rechaza descargas sin sesión: entonces pídeles que guarden el video y te den el archivo).
prep_refs.py "STYLE" (fotogramas, hojas de contacto, fijos, cortes, sonoridad, transcripción opcional). Mira references/analysis/overview.jpg. Luego un subagente por reel (Sonnet está bien, máximo 3 a la vez) con references/breakdown-brief.md, completado con lo que dijeron que les encanta. Mientras se ejecutan, haz la ronda de fuentes. Cuando vuelvan, lee cada breakdown.md y diles en menos de 120 palabras qué comparten sus referencias y en qué mecánicas se basa la ronda 1. Pon esos hallazgos en STYLE.md en "Notas de las rondas".
4. Ronda de fuentes (opcional, ~3 min)
Si no están seguros de la fuente: make_round.py "STYLE" fonts "<su fuente>" "Switzer" "General Sans" "Geist" "Instrument Sans" "Helvetica Neue" (evita Inter, Satoshi y otras fuentes predeterminadas de IA a menos que las pidan).
server.py start "STYLE" --open. Misma línea, mismo movimiento, solo cambia la fuente. Después de su elección:
brand.py "STYLE" --font "<elección>", luego make_round.py "STYLE" next (registra las fuentes rechazadas).
5. Ronda 1 y cada ronda posterior. Lee references/rounds.md y references/library.md.
make_round.py "STYLE" first, luego dale forma con los hallazgos del desglose (ajusta parámetros con set, añade tus propios diseños a page/custom.js con add). Comprueba que se renderice (shot.mjs, consulta rounds.md), luego: "Tu página de estilo está abierta. Cada clip es una animación real en tus colores: reproduce, pausa, arrastra la barra, haz clic en uno para verlo grande. Pulsa Conservar, Quizás o Descartar en cada uno, añade una nota en cualquier cosa cercana ('más lento', 'más grande'). Pulsa Enviar revisión, luego dime 'listo'."
Al decir "listo": make_round.py "STYLE" next, lee CADA nota (los conservados y no calificados también pueden tener notas), arregla los quizás exactamente como se pidió, diseña cualquier cosa nueva que hayan solicitado, actualiza las secciones de prosa de STYLE.md y style_md.py "STYLE", comprueba la página, diles qué cambió en algunos puntos. Repite hasta que no haya nada en Quizás (normalmente 3-4 rondas). Si dicen cosas en el chat en lugar de enviar, actúa sobre el chat.
6. Laboratorios (cuando una sección está cerca)
Laboratorio de Brillo (shine.html), Laboratorio de Zoom (zoom.html: arrastra la curva, dirección, hasta 5 s), Laboratorio de Sombra (shadow.html: sobre una página brillante y su rostro). Cada uno tiene un botón de Bloquear que guarda locked/<nombre>.json (el anterior va a locked/old/). Después de que bloqueen: lee el archivo, diles los valores en palabras sencillas, style_md.py "STYLE". Si dicen que Bloquear falló: server.py start "STYLE" (reemplaza un servidor obsoleto), luego pídeles que actualicen: sus ajustes de los controles deslizantes se recuerdan en el navegador.
7. Efectos de sonido (~15 min). Lee references/sound.md.
Pregunta dónde está su biblioteca de sonidos (o ninguna). sfx.py scan "<carpeta>" para preseleccionar, más sonidos gratuitos sin atribución descargados en su Mac (Mixkit) donde tengan huecos. sfx.py add / fetch 2-3 opciones por momento. Envíalos a la página de Sonidos (/sfx.html): cada sonido se reproduce con su animación a su nivel de edición real. Ellos Conservan / Descartan y pulsan Enviar selecciones (o te lo dicen en el chat): sfx.py apply-review. Ajusta los niveles con sfx.py level. Regla: si se oye claramente, está demasiado alto.
8. Finalización
style_md.py "STYLE" --check hasta que no quede nada importante abierto; cada sección en inglés sencillo con los números exactos (los bloques automáticos contienen los valores bloqueados). Música: ellos eligen por edición a menos que digan lo contrario. Luego: "Tu estilo está listo y guardado en . ¿Quieres probarlo en un video real? Di /edit-my-video y suelta un clip." Detén el servidor de la página solo si han terminado por el día (server.py stop "STYLE").
Archivos
scripts/: setup.py (check, init, instalación de HyperFrames) · server.py (start/stop/status, nunca obsoleto) · brand.py (colores, fuentes, contraste) · make_assets.py (clip facial, iconos, capturas de pantalla) · shot.mjs (Chrome sin cabeza: capturas de pantalla de carga completa, cuadros de texto, errores de consola, barrer y disparar) · fetch_refs.py, prep_refs.py (reels de referencia) · make_round.py (rondas) · sfx.py (sonidos) · style_md.py (bloques automáticos de STYLE.md).
engine/: la página (copiada en cada carpeta de estilo) y first-round.json. templates/STYLE.md.
references/: interview.md, breakdown-brief.md, rounds.md, library.md, sound.md.