Communitygithub.com

video-breakdown - Desglose de video

Desglosa un video de referencia plano por plano y nombra cada elemento para que la persona pueda crear uno similar. Mide cortes, transiciones, movimientos de cámara, texto y sonido, y genera un informe con técnicas de EditAtlas, enlaces y una receta.

¿Qué es video-breakdown - Desglose de video?

El skill `video-breakdown` permite a un agente de IA analizar un video local, desglosándolo plano por plano para identificar transiciones (como cortes, disolvencias, barridos, iris), movimientos de cámara (zoom, paneo, sacudida), estilos de texto (colores, degradados, fuentes similares gratuitas), el ritmo general y los puntos de impacto sonoro. Está diseñado para plataformas como Claude Code, Cursor, o cualquier agente que admita MCP y ejecución de scripts Python. El proceso se divide en cuatro fases: (1) medición con `analyze.py` para obtener datos de cortes, tomas, superposiciones y audio; (2) inspección visual con `frames.py` y el Read tool para verificar cada elemento; (3) búsqueda en EditAtlas (vía MCP o API REST) para asignar nombres técnicos precisos a transiciones, sonidos y efectos; y (4) generación de un informe estructurado (`report.py`) que incluye una receta paso a paso para que el usuario pueda recrear el video con su propio material. El skill se usa cuando alguien comparte un video y pregunta “¿qué efecto/transición/edición es esta?”, “¿cómo se hizo?”, o “¿cómo puedo recrearlo?”. No descarga videos de plataformas y solo trabaja con archivos locales. La salida final incluye un reporte Markdown con las técnicas nombradas, enlaces a EditAtlas, y la receta.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/EditAtlas/skills/tree/HEAD/skills/video-breakdown

Preguntar en tu IA favorita

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

Documentación

Desglose de video: de un video que le gusta a alguien a técnicas y una receta con nombre

Esta es la versión video-breakdown 0.4.1.

La persona tiene un video que le gusta y no sabe cómo se llama lo que contiene. Tú le proporcionas, plano por plano, el nombre correcto de cada transición, movimiento de cámara, estilo de texto y sonido, la técnica de EditAtlas que lo produce, y los pasos para crear uno similar con su propio material.

Tres cosas son ciertas en todo momento:

  • Los números son pistas, los fotogramas son la evidencia. analyze.py mide píxeles y muestrea. Puede confundir un crash zoom con una unión, un iris con un fundido a negro, el parpadeo de una película antigua con cortes. Cada elemento que nombres debe provenir de fotogramas que hayas abierto con la herramienta Read. Indica cuáles solo mediste.
  • No puedes oír. Los números de audio indican dónde ocurre algo repentino, qué tan fuerte, qué tan brillante, y el tempo. No dicen qué es el sonido. Nunca escribas "un whoosh" para un transitorio que no has identificado; escribe "un golpe corto y brillante a los 4.9 s, cerca del zoom".
  • Nunca inventes. Trabaja solo con el archivo que la persona te dio. Cada slug de técnica e id de sonido en el informe proviene de una búsqueda o llamada a EditAtlas en esta sesión. Si nada encaja, dilo.

Los scripts están en scripts/ (Python 3.9+, numpy, Pillow, FFmpeg con ffprobe en PATH). Ejecútalos con la ruta de la carpeta del skill, desde una carpeta de trabajo propia (work/); nunca escribas en las carpetas de la persona.

python SKILL/scripts/analyze.py VIDEO --out work/bd                      # breakdown.json + hojas
python SKILL/scripts/frames.py VIDEO --at 6.8 --span 0.6 --step 0.04 --out work/look   # cada fotograma de una unión
python SKILL/scripts/frames.py VIDEO --at 7.9 --crop 0,60,100,40 --out work/look      # 40% inferior, para leer texto
python SKILL/scripts/text_look.py VIDEO --at 3.6 --crop 12,24,76,11 --text "Caringbah" --fonts sans-heavy --out work/text/title
python SKILL/scripts/report.py work/bd/breakdown.json work/bd/notes.json --out result/breakdown.md --check-api

Cuando faltan las entradas

  • Sin archivo, solo un enlace (TikTok, Reels, YouTube): pide a la persona que descargue el video y te dé la ruta del archivo. Esta skill no obtiene contenido de plataformas. Una grabación de pantalla del video también funciona.
  • Sin video en absoluto: pídelo. No describas lo que "normalmente" tiene un video así.
  • Video muy largo (más de 5 minutos): analyze.py lee los primeros 300 s. Pregunta qué parte es relevante, o pasa --max-seconds.

Los desgloses son para aprender cómo se editó un video. La receta usa el propio material de la persona; no sugieras reutilizar el metraje, la música o los personajes del video de referencia.

1. Medir

Ejecuta analyze.py. Imprime un resumen y escribe breakdown.json con:

ParteQué contiene
formattamaño, forma (9:16, 16:9), fps, duración
pacingtomas, uniones por minuto, mediana / más corta / más larga toma, uniones en los primeros 3 s, regularidad
joinscada cambio de toma: tiempo, duración, tipo (cut, cross-dissolve, dip to black, white flash, bright flash, wipe con el lado del que viene, shape wipe (una forma plana crece sobre la imagen) con su contorno y lado, push or slide con la dirección, zoom transition, blur transition, snap zoom or punch-in, jump cut, gradual (other))
shotspor toma: palabras de cámara medidas (push in, fast zoom, pan, shake, hold, speed change), el aspecto (oscuro, cálido, blanco y negro, barras negras, viñeteado), y para tomas que se mantienen quietas, el timing: cuánto tardan en aparecer las cosas, cuánto se mantienen, cómo se van
overlaysevents: momentos en que una banda del fotograma cambia mientras el resto se mantiene (texto, stickers, gráficos que aparecen o desaparecen); persistent: regiones que permanecen a través de las uniones (logotipo, marco, barra de subtítulos)
audiovolumen, proporción tipo voz, candidatos de tempo y si los cortes caen en el beat, transitorios (sonidos repentinos) con el evento visual más cercano, crescendos (subidas hacia un momento)

Qué significa cada número y dónde falla: references/reading-the-numbers.md. Léelo antes de tu primer desglose de una sesión.

2. Observar

Abre, con la herramienta Read, en este orden:

  1. overview.png: el video completo en 24 fotogramas o más (cada 0.15 s en un video corto, uno por segundo o menos en uno largo). Obtén primero la historia y el estilo, y dónde aparece cada texto.
  2. shots_NN.png: primer, medio y último fotograma de cada toma. Verifica que cada toma sea real: un crash zoom, un destello o un parpadeo pueden dividir una toma en dos; una disolvencia dentro del metraje original puede parecer una unión.
  3. joins_NN.png: seis fotogramas a lo largo de cada unión que no sea un corte simple. Nombra la transición a partir de estos.
  4. events.png: antes y después de cada evento de superposición. Aquí es donde se muestran subtítulos, stickers y gráficos.

Luego usa frames.py donde no estés seguro: --step 0.04 (un fotograma a 25 fps) a través de una unión para ver su forma, --crop para leer texto pequeño o ver cómo entra una palabra (pop, rebote, deslizamiento, máquina de escribir), --times para momentos uno al lado del otro. Dos o tres miradas detalladas son normales; un video corto con muchos efectos puede necesitar más.

Compara el formato con la imagen. Un video 9:16 cuyas tomas parecen recortadas de metraje más ancho (una película, un podcast, un juego: caras y objetos cortados en los lados, un encuadre que se sitúa diferente en cada toma) es un reencuadre: dilo, y busca reframe to vertical. El metraje ancho con barras negras es letterbox o pillarbox.

Escribe, para cada elemento, lo que ves en palabras simples antes de buscar un nombre: "la imagen antigua se comprime en una línea horizontal mientras la nueva aparece detrás", no "un squeeze".

Texto en pantalla

El texto es lo que la gente copia primero y lo que un remake suele hacer mal: el tipo de letra incorrecto, color plano donde el original tiene un degradado, texto delante de una persona donde el original lo pone detrás. Para cada texto que no sea subtítulos simples, encuentra estas cinco cosas:

  1. Capa. ¿Una persona u objeto cubre parte de las letras (pelo sobre la parte inferior de una palabra, una mano delante)? Entonces el texto está detrás del sujeto: compositing-text-behind-object. Observa un recorte donde se superpongan. Revisa cada título, no solo el primero: un video puede poner varias palabras detrás del sujeto.
  2. Entrada. frames.py --at <momento en que aparece> --span 0.6 --step 0.04 --crop ...: se desliza con desenfoque de movimiento (¿desde qué lado?), cae desde arriba, aparece (escala), se funde, se escribe, palabra por palabra o todas a la vez, y si las palabras se mueven de nuevo después de posarse. Los eventos de superposición pueden pasar por alto texto que entra mientras la cámara se mueve; usa la vista general para encontrar esos momentos.
  3. Color. Ejecuta text_look.py en un recorte del texto una vez que esté completamente visible y quieto. Recorta una línea con un poco de fondo en cada lado. Imprime el relleno (sólido, o un degradado con su dirección y paradas como colores hex), un contorno o sombra desplazada, un brillo o halo oscuro alrededor de las letras, y cuánto se inclinan las letras. Abre look.png: "taken as text" debe mostrar las letras y nada más. Si tomó una cara o dejó fuera parte de un degradado, ejecuta nuevamente con --text-clusters y los números de cluster que son texto (el panel debajo muestra cada cluster). Cada palabra puede tener sus propios colores: mide cada título por separado.
  4. Fuente. Describe primero las letras: sans o serif o script; para scripts, trazos uniformes (brush, marker, casual) o trazos gruesos hacia abajo con trazos finos hacia arriba (formal, caligráfico); peso; vertical o inclinada; mayúscula o minúscula; ancha o condensada. text_like.py imprime el peso del trazo y el contraste, que distinguen una script caligráfica (contraste 2.2 o más) de una brush. Luego añade --text "<las palabras exactamente como se muestran>" --fonts <grupos> (--list-fonts los muestra) para el grupo o grupos adecuados, y compara las letras visualmente: mayúsculas, las formas de a, g, t, las uniones. El número de coincidencia ayuda para fuentes sans y serif y es débil para scripts. Nombra una o dos fuentes similares gratuitas y di que son similares, no la fuente del creador.
  5. Lugar y tamaño: dónde está, su altura como proporción del fotograma, y cuánto tiempo permanece.

Movimiento diseñado

Para logotipos, títulos, gráficos y videos animados, el timing es lo que los hace verse terminados, y lo que un remake hace mal. Lee el timing de cada toma (entra en 0.7 s, rápido, luego se estabiliza; quieto el 71 % de la toma; sale en 0.8 s, lento, luego acelera) y format.loops, verifícalos en los fotogramas, y pon los números en el seen o note del elemento y en la receta. Sobre un fondo plano, un gráfico que crece o aparece puede informarse como una unión (jump cut, snap zoom, zoom transition): si el fondo permanece, es la entrada del elemento. Detalles: "Designed motion" en references/reading-the-numbers.md.

3. Nombrarlo con EditAtlas

Para cada elemento, busca por el resultado, no por un nombre supuesto:

  • search_techniques con la descripción simple ("el círculo se cierra a negro luego se abre", "las palabras entran rebotando una a una", "zoom rápido repentino al sujeto"). Usa category para acotar (transition, captions, motion, vfx, color). Los términos de búsqueda que funcionan para cada etiqueta del analizador están en references/reading-the-numbers.md.
  • get_technique sobre la mejor o las dos mejores, y conserva aquella cuya descripción coincida con lo que viste. Copia su slug y name exactamente. Marca la coincidencia como exact, close (misma idea, difiere un detalle) o partial.
  • Sonidos: search_sfx por lo que el momento necesita (pop para texto que aparece, crescendo para un golpe, whoosh para un empuje). El sonido en la referencia es desconocido para ti; estás sugiriendo un sonido de EditAtlas para el mismo momento, así que dilo.
  • get_workflow con el tipo de video (short_vertical, product_ad, food_review, ...) para el ritmo y la estructura que EditAtlas recomienda; compáralo con lo que mediste.

Sin el MCP, la API REST responde a las mismas búsquedas: https://edit.trysometh.ing/api/v1/techniques?q=... y /api/v1/sfx?q=....

Un corte simple, un tramo de diálogo o el metraje en sí no necesitan técnica: asígnale un gap diciéndolo. Cuando nada en EditAtlas coincida con un efecto real, escribe lo que buscaste en gap; eso le indica a EditAtlas qué falta.

4. Escribir las notas y el informe

Escribe notes.json junto a breakdown.json (formato y un ejemplo: references/notes-format.md): qué hay en pantalla en cada toma, cada elemento con su tiempo, descripción simple, evidencia y técnica o sonido de EditAtlas, correcciones donde las mediciones fueron erróneas, una receta, y lo que no verificaste. Establece lang al idioma de la persona (vi o en).

Ejecuta report.py ... --check-api. Rechaza notas que omitan una toma, dejen un elemento sin técnica o razón, o dejen fuera lo que no se verificó, y con --check-api confirma que cada slug e id de sonido existe en EditAtlas y que los nombres coinciden. Corrige lo que liste y ejecútalo de nuevo.

Entregar

Primero, una verificación de versión. Si el MCP de EditAtlas está conectado, llama a get_skill sin nombre. Si lista video-breakdown por encima de 0.4.1, la primera línea de tu respuesta dice que existe una versión más reciente y cómo actualizarla (en Claude Code: /plugin, luego Marketplaces, editatlas-skills, Update marketplace; en otro lugar get_skill con nombre video-breakdown da el paso). Sin el MCP, omítelo.

Entrega a la persona, en su idioma:

  1. Dos o tres frases: qué tipo de edición es y qué la hace funcionar (ritmo, el efecto característico).
  2. Los elementos en orden temporal con sus nombres y enlaces: la tabla del informe, o las filas principales.
  3. La receta: pasos con su propio material, técnica por técnica. Ofrece hacer la edición, que comienza con get_workflow; y para los sonidos, la skill sound-design (get_skill).
  4. Qué se midió, qué miraste, y qué es desconocido: la fuente real del creador (tú das similares gratuitas), las curvas de easing exactas (timing da duraciones y una forma, no la curva), qué es realmente cada sonido, si el metraje fue filmado o generado.
  5. El archivo del informe (result/breakdown.md).

Después de la entrega, pregunta si los nombres y las técnicas fueron correctos y envía la respuesta con send_feedback cuando esa herramienta esté disponible.

Referencias

  • references/reading-the-numbers.md: cada medición, sus errores conocidos y términos de búsqueda por etiqueta. Léelo antes del primer desglose de una sesión.
  • references/notes-format.md: los campos de notes.json con un ejemplo completo. Léelo antes de escribir notas.

Individual skills in this repo

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

EditAtlas/sound-design

Sound-design a finished video with real sound effects from the EditAtlas library (2,278 described sounds, public, downloadable from GitHub with SHA-256 checks). Finds the moments in the picture, lets you look at them as frame sheets, picks sounds by description and measured numbers, places each on its exact frame at a level set by its role, keeps or replaces the film's own music and voice, renders a new MP4 plus a separate SFX WAV, and checks the result in numbers (sync, pace, holes, loudness, m

video-check

Check a finished video before the person sees it or posts it, then fix what is wrong. Measures the file (size, frame rate, pixel format, length), picture faults (black or white frames, frozen stretches, one-frame glitches, stutter, a loop that jumps or repeats a frame), and sound (loudness, clipping, silences, audio that ends early or stops abruptly); makes frame sheets at phone size with the caption-safe area marked; then a reviewer who has not seen your plan looks at the sheets and lists problems with a time and a fix. Fix the worst three, render again, check again, at most three rounds. Use it after rendering any edit, and when someone asks to check a video before sending or posting it, says "kiểm tra video trước khi gửi", "xem lại bản dựng", "video này có lỗi gì không", "review my edit", "QA this render". Works on a local file. Not for breaking down someone else's video (use video-breakdown) or for judging footage the person has not edited.

Skills relacionados