Analyzer (Analizador de videos cortos)
Dale un reel que te guste y desglosará el gancho, el ritmo y la edición. Luego reutiliza la misma estructura para crear un video sobre tu tema.
Todo se ejecuta en este equipo. Las herramientas están en ~/.claude/skills/analyzer/scripts/ y se ejecutan con su propio Python: ~/.claude/skills/analyzer/.venv/bin/python (de ahora en adelante: PY = esa ruta, AN = ~/.claude/skills/analyzer/scripts).
0. Verificar la instalación (cada ejecución)
test -x ~/.claude/skills/analyzer/.venv/bin/python && command -v ffmpeg
Si falta alguno, indícaselo al usuario en una línea y ejecuta el instalador: bash ~/analyzer-skill/install.sh, o clónalo primero: git clone https://github.com/corbinsylk/analyzer-skill ~/analyzer-skill && bash ~/analyzer-skill/install.sh.
1. Obtener el video
Un enlace (Instagram, TikTok, YouTube Shorts, X) o un archivo. Luego:
PY AN/fetch.py "<enlace o archivo>"
Imprime la ruta del video en su última línea (las descargas se guardan en ~/Movies/Analyzer/). Las publicaciones públicas se descargan sin necesidad de inicio de sesión. Si falla (privado, restringido por edad, eliminado), dile al usuario que lo descargue o lo grabe en pantalla y arrastre el archivo.
2. Medirlo
PY AN/transcribe.py "<video>"
PY AN/shots.py "<video>"
Ambos usan la carpeta de trabajo <nombre del video>-analysis/ junto al video. transcribe.py genera transcript.md y words.json (cada palabra con su tiempo; una nota sobre "mps" en la primera ejecución es inofensiva). shots.py genera pacing.md (cada número a continuación, más una tabla plano por plano con lo que se dice en cada plano), hojas de contactos sheet-N.jpg (pequeñas, numeradas, para la vista general) y shots/NN.jpg (un fotograma por plano a 720 de ancho, suficientemente grande para leer texto en pantalla; los planos largos también NN-a/NN-b, su primer y último momento). Si shots.py encuentra muchos menos planos de los que el video claramente tiene, vuelve a ejecutarlo con --threshold 0.18; si divide un plano en muchos (movimiento rápido, destellos), usa --threshold 0.4.
3. Mirar, luego escribir el desglose
Lee transcript.md y pacing.md. Abre cada hoja de contactos para la vista general, luego abre los fotogramas shots/NN.jpg de los planos de los primeros 3 segundos y de cualquier plano donde algo cambie (aparece texto, un zoom, un gráfico, una nueva ubicación): no es necesario abrirlos todos. No puedes escuchar el video: no digas nada sobre música o efectos de sonido más allá de lo que muestre la transcripción. La transcripción puede malinterpretar nombres y términos (un deporte, una marca, un plato): compruébalos con el texto en pantalla y usa la ortografía correcta en lo que escribas.
Escribe <carpeta de trabajo>/breakdown.md con estas secciones, cada afirmación vinculada a un tiempo o número de plano:
- El gancho (0-3 s). Las palabras exactas, qué hay en pantalla (encuadre, texto en pantalla y dónde se sitúa, movimiento), cuántos cortes y por qué detiene el desplazamiento: la brecha de curiosidad, la promesa, la ruptura del patrón.
- La estructura. Los beats en orden con sus tiempos: gancho, planteamiento o problema, los giros, el desenlace, la llamada a la acción. Para cada beat: su función, su duración en segundos y palabras, y la línea que cumple esa función.
- El ritmo. Los números de pacing.md (planos, duración media y mediana de los planos, cortes en los primeros 3 segundos, palabras por minuto) y lo que significan. Para contar las palabras de un beat:
PY AN/words.py "<carpeta de trabajo>" <inicio> <fin>(segundos o minutos:segundos); imprime el recuento de palabras, el ritmo y las palabras: dónde acelera, dónde se detiene, cómo la tasa de cortes sigue la historia. - La edición. Encuadre y cámara (cuánto del encuadre ocupa la cara, zooms, cambios de ángulo: a ojo desde los fotogramas), texto en pantalla (estilo, tamaño, posición, cuándo aparece), subtítulos (estilo, cuántas palabras a la vez), metraje adicional (B-roll), grabaciones de pantalla, gráficos, transiciones.
- La fórmula. La estructura como una plantilla rellenable que cualquiera podría reutilizar: cada beat como
[lo que va aquí]con su duración objetivo, recuento de palabras y movimiento de edición.
Luego dile al usuario el gancho, la fórmula y las tres cosas que lo hacen funcionar, en pocas líneas, y señala breakdown.md.
4. Rehacerlo sobre el tema del usuario
Haz una pregunta si no la ha dicho: "¿Sobre qué tema (y para quién) debería construir el nuevo video?"
Luego escribe <carpeta de trabajo>/remake.md:
- El guion, palabra por palabra, beat por beat, con la misma estructura, cada beat dentro de aproximadamente el 10% del recuento de palabras de referencia (de words.py), para que tenga la misma duración al mismo ritmo. El gancho usa el mismo mecanismo que la referencia (el mismo tipo de promesa, número, pregunta o ruptura de patrón), nunca sus palabras. Si el usuario te ha dicho cómo habla (un archivo de voz o marca, guiones anteriores en este proyecto, sus propias instrucciones), escribe con esa voz; si no, de forma clara, directa y hablada, como la gente habla a cámara.
- El plan de planos: para cada beat, qué filmar (encuadre, hacia dónde mirar, gestos, accesorios o ubicaciones), y el movimiento de edición en ese momento tomado de la referencia (un corte, un zoom, texto en pantalla con sus palabras exactas, metraje adicional para mostrar).
- Texto en pantalla listado por separado, con su tiempo.
- Notas de grabación: di cada línea dos veces para poder escoger la mejor toma; pausa un segundo entre líneas.
5. Montaje preliminar (cuando el usuario lo haya grabado)
Cuando el usuario arrastre su metraje del remake:
PY AN/transcribe.py "<metraje>"
Lee el transcript.md y words.json del metraje. Para cada línea del guion, elige la mejor toma limpia (completa, sin tropiezos; normalmente la última), luego escribe <carpeta de trabajo del metraje>/keep.json, en orden del guion:
[{"line": "la línea del guion", "start": 12.40, "end": 15.92}]
start = el s de la primera palabra de la toma, end = el e de su última palabra, de words.json. Luego:
PY AN/rough_cut.py "<metraje>" "<carpeta de trabajo del metraje>"
Corta cada toma ajustada a los bordes de sus palabras, la encuadra en 9:16 sobre el rostro, las une en orden con subtítulos palabra por palabra y escribe rough-cut.mp4 más rough-cut.jpg (8 fotogramas a lo largo). Abre el jpg y verifica que el rostro esté encuadrado y que los subtítulos se lean. Dile al usuario qué contiene el montaje preliminar y qué movimientos de edición del plan de planos aún debe agregar en su editor (texto, zooms, metraje adicional).