name: style-lab description: Aprende un estilo de edición de video a partir de videos de referencia o una descripción, luego edita tu material siguiendo ese estilo con un plan de edición y rondas de revisión. Disparadores: editing style, style-lab, סגנון.
¿Qué hace style-lab?
Cuándo usarlo (lista completa de disparadores)
Úsalo cuando el usuario quiera crear, definir, copiar, aprender o entrenar un estilo o apariencia de edición a partir de videos de referencia (enlaces o archivos) o de una descripción escrita; construir un tablero de estilo o guía de estilo; convertir reels de referencia en un estilo reutilizable; o editar un clip de "talking-head" o de formato corto "al estilo de" un estilo entrenado, y luego corregirlo en rondas de revisión. También para: "haz que mis videos se vean como los de este creador", "guarda esta apariencia para que todos los videos coincidan", "la edición se ve genérica / hecha por IA". Hebreo: סגנון עריכה, ליצור סגנון, ללמד את Claude סגנון, בורד סגנון, לוח השראה, ריפרנסים, תערוך בסגנון, תוכנית עריכה, סבב הערות, סטייל לסרטונים.
סקיל = הוראות קבועות ל־Claude. Este skill es parte de los skills del curso "וידאו עם AI" de Gabriel Gelman (Apache-2.0). Es un skill avanzado adicional: asume Claude Code con ffmpeg y Python, y funciona mejor con HyperFrames instalado.
Idioma: siempre habla al usuario en hebreo a menos que escriban en otro idioma. Explica cada paso en palabras sencillas antes de hacerlo (qué hacemos, por qué, qué hace el usuario ahora), un paso a la vez, y nombra el paso ("שלב A2: לוח הסגנון"). Todas las páginas que el usuario ve (tablero, plan, sala de revisión) están en el diseño del curso: RTL hebreo, Karantina / Heebo, blanco-negro-violeta.
Inspiración: el flujo de trabajo en dos fases (entrenar un estilo a partir de ~20 videos de referencia y un tablero, luego editar con un plan humano) se inspiró en el video de YouTube de Joseph sobre edición de videos de talking-head con Claude (https://youtu.be/g9xoKm5DEeU). Nada del video está copiado aquí; el tablero, el plan y las páginas de revisión, los scripts, las reglas y el bucle de revisión son nuestros, reconstruidos y probados en un lote de 13 Reels.
La idea en un párrafo
Los videos de referencia le enseñan a Claude la lógica detrás de las animaciones (cuándo, cuánto duran, cómo se mueven); el tablero le enseña el diseño (fuentes, colores, tamaños, por qué). Sin ambos, las ediciones se ven genéricas. El gusto humano interviene en tres puntos de control: el tablero (fase A), el plan de edición (fase B) y las rondas de revisión. Claude hace el trabajo pesado en el medio. Si no sabes qué hace que un estilo sea bueno, la IA solo te ayuda a hacer malos videos más rápido, así que cada regla está medida y cada elección de diseño tiene un "por qué".
Valores predeterminados (dilos en una línea al inicio, cambia a petición)
- Marca: la marca del curso (
references/brand-defaults.md: Karantina 700 titulares, Heebo cuerpo a -0.04em, Consolas para código, blanco / negro / violeta). Se mantienen el diseño, movimiento y estructura de la referencia; sus fuentes y colores se cambian por los de la marca. El usuario puede conservar la apariencia original de la referencia para un estilo, o poner su propia marca en~/.claude/style-lab/brand.md. - Motor de construcción: HyperFrames (HTML a video). Sin él:
references/tools-and-fallbacks.md. - Transcripción: faster-whisper local; hebreo con un modelo ivrit-ai local. Cloud (RunPod) solo con la aprobación del usuario, porque cuesta dinero.
- Imágenes / 3D: opcional, solo cuando un beat lo necesita, y solo con la aprobación del usuario si es de pago.
- Formato: 9:16, 1080x1920, 30 fps, a menos que el usuario diga lo contrario. Nunca asumas el idioma de los subtítulos: pregunta (o sin subtítulos). Verifica primero qué está instalado (ffmpeg, Python, faster-whisper, Node + HyperFrames, Blender, un modelo de imagen) y di qué usarás. Una herramienta faltante bloquea su paso: di cuál y qué instalar; nunca omitas un paso en silencio, nunca descargues sin un sí.
Tus estilos (varios estilos con nombre lado a lado)
Cada estilo tiene un nombre que elige el usuario (el hebreo está bien), un slug latino, una descripción de una línea, su propio paquete de estilo y su propio skill de estilo style-<slug>. Todos se listan en un registro, ~/.claude/style-lab/styles.json, gestionado con scripts/styles.py:
python scripts/styles.py list # estilos disponibles para elegir
python scripts/styles.py add <slug> --name "<nombre>" --pack <project>/styles/<slug> --description "..."
python scripts/styles.py show <slug o nombre>
python scripts/styles.py set <slug> name="<nuevo nombre>" status=ready aliases="..." theme=light
python scripts/styles.py check # cada paquete y skill sigue existiendo
Estado: training durante la fase A, ready después de A5 (solo los estilos listos se ofrecen para editar), archived para ocultar uno. remove solo elimina la entrada del registro, nunca los archivos. Cada estilo también registra fonts / colors (brand o reference) y theme (dark, light o both; un video puede ser "el otro tema").
¿Qué fase? "nuevo estilo / ליצור סגנון / ללמד סגנון" → fase A. "editar / hacer un video / תערוך" → fase B. "cambiar / renombrar / mejorar estilo X" → styles.py set, y para cambios de reglas edita el STYLE.md y el skill de ese estilo.
Dónde están las cosas
<project>/styles/<slug>/ el paquete de estilo
refs/ sources.md videos de referencia (copias de estudio locales, nunca publicadas)
analysis/ transcripciones por video, hojas de contacto, notas
board/ board.json board.html thumbs/
library/<V01-A06 title>/ still.png strip.jpg clip.mp4 notes.md (+ index.json)
animations.json el desglose (entrada para el script de la biblioteca)
STYLE.md reglas numeradas, tokens, categorías, movimiento, sonido, reglas de revisión
kit/ componentes probados opcionales para el motor de construcción
<project>/edits/<clip>/ una carpeta por edición
raw/ words.json edit_ready.mp4 edit_ready.words.json plan.json plan.html
build/ assets/ renders/ revisions.md SOURCES.md
~/.claude/skills/style-<slug>/SKILL.md el skill de estilo generado
~/.claude/style-lab/styles.json el registro
Scripts (locales, gratuitos): styles.py, transcribe_words.py, transcribe_cloud_ivrit.py (de pago, opcional), cut_silences.py, verify_cut.py, word_edges.py, build_reference_library.py.
Páginas: assets/board-template.html, assets/plan-template.html, assets/review-template.html.
Fase A: entrenar un estilo (construir el paquete de estilo)
A1. Recopilar las referencias
- Pregunta cómo llamar al estilo y una descripción de una línea; regístralo de inmediato (
styles.py add ..., estadotraining). Pregunta si usar la apariencia de la marca (por defecto) o la propia de la referencia. - Pregunta dónde están las referencias. Videos: el usuario proporciona archivos o enlaces que puede descargar; apunta a ~20 de los videos mejor editados exactamente en este estilo; menos de ~12 da una biblioteca pobre (dilo, continúa si el usuario quiere). Nómbralos
V01.mp4 …, lista cada uno enrefs/sources.md. Se quedan locales: nunca se publican, suben ni se ponen en un artefacto. - Solo descripción (sin videos): entrevista al usuario (sensación, bases, tipo, movimiento, subtítulos, sonido, qué está prohibido), convierte cada adjetivo en un número, y recopila algunas imágenes fijas o capturas que le gusten. Omite el trabajo de fotogramas de A3-A4; el tablero muestra tokens, reglas y bocetos en lugar de fotogramas de referencia, y la biblioteca comienza vacía y crece a partir de ediciones aprobadas.
A2. El tablero de estilo (la parte más importante del entrenamiento)
- Analiza cada referencia: fotogramas cada 0.5 s con ffmpeg (o una herramienta de análisis de video si está instalada), hojas de contacto, sonoridad de audio. Lee las hojas.
- Propón las categorías (sistema de subtítulos, diseño, tipos de B-roll, gráficos, transiciones, CTA …); las propias categorías del estilo ganan.
references/example-style-3d-paper.mdmuestra uno terminado. - Elige 100-150 fotogramas de inspiración como miniaturas 9:16 (~360 px de ancho) en
board/thumbs/, y un fotograma héroe por categoría para anotar. - Rellena
board.json(esquema:references/board-and-plan-spec.md): tokens (fuentes, colores con hex extraídos de los fotogramas, texturas, formas, tamaños, diseño) y por categoría los mosaicos, un fotograma anotado con 3-5 indicaciones medibles, y respuestas borrador a las cuatro preguntas "por qué" (diseño, colores, efectos, animaciones). - Construye
board.htmldesdeassets/board-template.html(reemplaza el bloque JSON) y publícalo como un artefacto con las miniaturas como archivos de soporte. El usuario reescribe las respuestas "por qué" y presiona העתקת ההערות לבורד para pegarlas de nuevo. - Punto de control 1: detente y espera. Aplica las notas del usuario, vuelve a publicar. No comiences A3 hasta que el usuario diga que el tablero está bien; un tablero incorrecto entrena un estilo incorrecto.
A3. El desglose
Para cada referencia: una transcripción a nivel de palabra (transcribe_words.py, idioma del usuario o auto) y un recorrido fotograma a fotograma que encuentra cada animación y registra tres cosas:
- colocación: qué palabras la activan, cuánto después de la palabra, qué tipo de línea recibe qué tipo de escena (anuncio vs descripción, número, persona, historia, remate);
- diseño: fondo, textura, par de tipos y tamaños, color, trabajo de línea, ilustración, posición;
- lógica: duración en fotogramas, distancias, easing, movimientos de cámara. Mide en fotogramas; nunca adivines.
Luego concilia con el tablero (tablero = qué y por qué; videos = cuándo y cómo se mueve); pregunta al usuario dónde está en desacuerdo. Escribe cada animación en
animations.json(V<nn>-A<n>, inicio/fin, fotograma clave, título, categoría, tipo de escena, palabras, notas). Un video a la vez, guardando mientras avanzas; con muchos videos, divide el trabajo entre subagentes (un video cada uno, mismo esquema).
A4. La biblioteca de referencia
python scripts/build_reference_library.py styles/<slug>/animations.json --out styles/<slug>/library
Cada animación se convierte en una carpeta (imagen fija, tira de fotogramas etiquetada, clip, notas) más index.json. Abre algunas tiras, corrige límites incorrectos en animations.json, vuelve a ejecutar con --force.
A5. Empaquetar el estilo
Escribe STYLE.md y el skill de estilo a partir de references/style-skill-template.md: reglas numeradas y medidas (para que un plan o una nota pueda decir "regla 7"); tokens mapeados sobre la marca (conserva los tamaños, proporciones y disciplina de color de la referencia; registra sus originales); cada categoría con diseño, movimiento, colocación y 2-3 referencias de la biblioteca; los patrones de planificación; el perfil de sonido; una sección "forma de pensar"; una sección vacía "Reglas de la ronda de revisión". Comienza cada estilo desde las reglas generales en references/craft-rules.md y escribe solo lo que difiere. Recomendado: construye las partes recurrentes (subtítulos, titular, diseño del hablante, CTA) como un kit de componentes probados en kit/. Guarda el skill en ~/.claude/skills/style-<slug>/SKILL.md, luego styles.py set <slug> status=ready board_url=<URL del artefacto del tablero>. Informa al usuario el nombre del estilo y que una nueva sesión lo listará.
Fase B: editar un clip en un estilo entrenado
Usa el modelo y esfuerzo más fuertes disponibles.
B0. Elegir el estilo
styles.py list. Si el usuario nombró uno, úsalo; si no, pregunta, con los estilos listos como opciones (un estilo listo: di cuál usarás). Ninguno listo: ofrece la fase A. Carga style-<slug> y escribe la elección en plan.json para que cada ronda use el mismo estilo.
B1. Transcripción y corte
transcribe_words.py raw.mp4 --out words.json(hebreo:--language he --model <carpeta ivrit-ai>).- Muestra las palabras de baja confianza (nombres, números, marcas); corrígelas antes de planificar.
- Elige tomas con el usuario si hay varias (
--keep keep.json), luegocut_silences.py raw.mp4 --words words.json --out edit_ready.mp4 --pad-ms 120(solo 30 ms para un estilo deliberadamente contundente). Las uniones obtienen un fundido de audio de 15 ms. - Vuelve a escuchar cada unión sin VAD (
transcribe_words.py edit_ready.mp4 --start .. --end .. --no-vad --no-context), verifica finales de palabra (word_edges.py --at <t>), luegoverify_cut.py. Las repeticiones ocultas y los finales cortados se encuentran aquí, no por el dueño. Todo después de esto usaedit_ready.mp4yedit_ready.words.json.
B2. El plan de edición (muéstralo sin que lo pidan)
Divide el guion en beats (una idea o línea cada uno). Para cada beat, tres diseños de la biblioteca del estilo, colocados como los colocan las referencias, uno marcado ההמלצה שלי. Cada opción: título, categoría, tipo de escena (פנים + כתוביות / שכבה מעל הפנים / סצנה מלאה), una descripción concreta, Ref V##-A##; cada beat: por qué encaja (cita referencias y números de regla) y una nota de cámara. Diseña cada beat con las cinco preguntas de references/craft-rules.md §1 (metáfora, la cosa real funcionando, lo invisible hecho visible, una referencia para el movimiento, nunca repetido). Construye plan.html desde assets/plan-template.html, publica con un proxy 540p como clip.mp4 y las imágenes fijas de opción como thumbs/.
B3. Punto de control 2: el humano planifica
El usuario elige un diseño por beat o escribe el suyo propio, presiona העתקת התוכנית y lo pega de nuevo. Ofrece los patrones de planificación como consejo: abre con el hablante; el gancho es un beat fuerte; anuncia en el rostro, describe con un visual; una persona → una llamada; una historia → B-roll; equilibra los tipos de escena. Si el usuario da control total ("אתה מחליט"), toma tus elecciones y dilo.
B4. Construir
- Para cada diseño elegido, abre su carpeta de biblioteca y escribe el diseño exacto a copiar.
- Lista de activos con una fuente por elemento (UIs reales, logotipos oficiales, clips de exhibición del propio fabricante de la herramienta, archivos del usuario, música/SFX con licencia, imágenes generadas opcionales o 3D); muéstrala; pregunta antes de descargar. Registra cada fuente en
SOURCES.md. - Construye en HyperFrames (carga su skill primero) o el motor de respaldo: una composición 1080x1920 con
edit_ready.mp4como pista del hablante; tokens de estilo; el kit del estilo primero. Orden: subtítulos para todo el video desde el archivo de palabras, luego cada beat en orden del plan. Construye 2 beats primero, captura, compara con los fotogramas de referencia del estilo, ajusta, luego el resto. Siguereferences/craft-rules.mdy verificareferences/pitfalls.md. - Valida (0 errores), captura cada 0.5 s (0.2 s sobre beats densos y el CTA), lee cada captura, corrige. Luego renderiza un borrador (baja calidad, con música) y abre la página de revisión. Di claramente que un primer borrador está al 60-70% del camino.
B5. Rondas de revisión
Sigue `references/
…
[truncado para traducción]