CommunityProgramación y desarrollogithub.com

thativanng/reels-maker

Las compuertas que toda película renderizada debe pasar antes de que alguien la vea. Una pasada de colisiones a 40 fps, sondas de píxeles y un auditor independiente que firma el visto bueno.

¿Qué es reels-maker?

Este skill implementa un riguroso proceso de auditoría para películas generadas por código (reels). Consta de tres compuertas obligatorias: (1) una pasada de colisiones en 3D a 40 fps que verifica que ningún objeto en movimiento toque a otro sólido o a otro móvil; (2) sondas de píxeles en la pantalla que detectan superposiciones no deseadas (por ejemplo, una tapa de botella detrás de una cabeza, o texto fuera de la zona segura); y (3) un agente auditor independiente que revisa el video renderizado a una tasa de al menos 2 fps y firma el resultado. El constructor nunca puede firmar su propio trabajo. Está pensado para usarse antes de enviar cualquier render, después de cada ronda de correcciones, y cada vez que alguien pida «revisa la película», «audita esto» o «¿está lista?». Soporta plataformas como reels en 9:16 orgánicos o de pago, y se ejecuta desde la carpeta `reels-maker` del repositorio clonado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thativanng/reels-maker/tree/HEAD/skills/film-audit

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

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

Documentación

film-audit: ninguna película sale sin estas comprobaciones

Dónde vive el kit: ejecuta cada comando de este skill desde la carpeta reels-maker (el clon de github.com/thativanng/reels-maker que contiene template/ y tools/). Si el proyecto no lo tiene, configúralo primero siguiendo el SETUP.md de ese repositorio.

La regla: una película solo llega a la persona cuando (1) la pasada de colisiones dice NO COLLISIONS, (2) cada preocupación de «¿X está sobre una cara?» tiene un número de píxeles, y (3) un auditor independiente ha firmado sin ningún MUST-FIX abierto. Una revisión a 1 fps por parte de quien la construyó es una comprobación preliminar, no una compuerta. Una corrección mueve otras cosas (mover un globo de diálogo una vez lo sacó del encuadre), por lo que cada ronda de correcciones necesita una re-visión estrecha de las ventanas que tocó.

Compuerta 1 · Colisiones en 3D (node tools/collide.mjs)

  • La página expone window.collide(t). Compara los bounding boxes de cada malla en AUD_M (cosas que se mueven) contra AUD_S (cosas que están quietas) y entre sí, después de reducir cada caja en 0.03.
  • Registra cada nuevo móvil y sólido, o la comprobación no podrá verlo. Cajas lanzadas, tazas llevadas, cubos que pasan y virus flotantes cuentan como móviles.
  • Los contactos que deben ocurrir (una taza en una mano) se excluyen por nombre, en HELD.
  • Las mallas de menos de 0.12 unidades de altura (decalcos de suelo, marcas viales, placas finas) se omiten, para que algo plano no genere una falsa alarma. Un móvil realmente fino necesita su propia comprobación.
  • Ejecútalo a 40 fps (STEP=.025, el predeterminado). A 10 fps falló dos contactos de un solo fotograma: cajas lanzadas atravesando las cabezas de dos personas.
  • La salida es una línea por par: desde–hasta s A × B profundidad (fotogramas). Envía solo con NO COLLISIONS.

Compuerta 2 · Píxeles en pantalla (node tools/probe.mjs)

Algunos defectos nunca chocan en 3D. Una tapa de botella a 3 m detrás de la cabeza de alguien puede parecer que le crece del pelo. Mide la pantalla:

node tools/probe.mjs "4.4,4.6,4.8" "D.CUPS[0]" "head"   # superposición de una taza y la cabeza del héroe, en píxeles
node tools/probe.mjs "24.5,26" "head" "pill"           # ¿está la cabeza detrás del subtítulo?
node tools/probe.mjs "3.0,3.5" "D.GUESTS[1].v.root"    # un rectángulo: ¿está esta persona dentro del encuadre?
  • Lee overlap: [x, y] (ambos > 0 significa que están uno encima del otro), gapY e inside (A está completamente dentro de B).
  • En cualquier página, incluso 2D: sel:<css selector> es lo que un elemento realmente pinta (sus letras, medidas línea por línea, más cualquier fondo, borde o imagen) y safe es la zona de seguridad de la plataforma (de window.FILM.safe). Cada palabra en pantalla debe estar inside: true contra safe en cada beat:
    node tools/probe.mjs --page reels/<name>/page.html --format 9:16 "2,6.4,10.4" "sel:.title,.line,.kicker,.handle,.cap" "safe"
    
  • Para probar una clave de cámara sin editar el archivo, pasa PRE (se ejecuta antes de cada vez): PRE="window._CK.find(k => k[0] === 23.8)[1] = window._dbg.A(72.2, 10, 31, 72, 5.2, 1.5)" node tools/probe.mjs "25,28" "head".
  • Las cajas son conservadoras (un bounding box es más grande que la forma), por lo que unos pocos px de superposición pueden ser claros en la realidad. La decisión final la toma el recorte del auditor.

Revisa cada uno de estos con un número antes de renderizar:

  • Cada palabra, pie de foto y logotipo dentro de la zona de seguridad de la plataforma (safe, de template/formats.json). En reels orgánicos 9:16, esa es la banda central (la app cubre el cuarto inferior y la barra de botones derecha); en un reel de pago, todo por encima del 35% inferior.
  • Cualquier cosa cerca de una cara: gorras, pantallas detrás de la cabeza (el halo), cubos que pasan, accesorios en la boca
  • El héroe contra la píldora de subtítulos durante los movimientos de cámara
  • El globo de diálogo contra el borde del encuadre y los accesorios cercanos
  • Personas y vehículos contra el borde del encuadre (≥24 px es seguro)
  • Cosas voladoras (cajas lanzadas, monedas, grupos de virus) contra cada cabeza por la que pasan

Compuerta 3 · El auditor independiente

Inicia un agente NUEVO (nunca el constructor, nunca uno que haya visto la construcción) con references/auditor-brief.md.

  • Lee el MP4 renderizado, no la página en vivo: ffmpeg -i out/film.mp4 -vf fps=2 …, luego hojas con marca de tiempo (tools/sheet.py).
  • ≥2 fps para toda la película, ≥4 fps en cada ventana modificada, fotograma a fotograma (30 fps) en puntos de contacto como una recogida o una entrega.
  • Responde por elemento: FIXED / NOT FIXED / REGRESSED / NEW, clasificado MUST-FIX / NICE-TO-FIX, luego una línea: SIGN-OFF o NOT.
  • Una re-visión después de correcciones es estrecha: solo las ventanas que las correcciones tocaron, más una mirada breve de regresión. Puede ser más barato iniciar un agente nuevo que reanudar uno que carga todo su historial.

Lo que los auditores seguían encontrando (busca esto primero)

  • Algo tocando o detrás de una cabeza: una tapa de botella en el pelo, alfileres de mapa detrás de la cabeza, un monitor brillando detrás de la cabeza, un cubo cruzando una barbilla
  • Cosas atravesando cosas: camiones a través de edificios y entre sí, una camioneta estacionada debajo de un escritorio
  • Lógica: un camión acoplándose de frente, el segundo camión adelantando al primero, una taza dejada en el borde de una mesa que debería caer
  • Personas: dos personas tan juntas que sus cabezas se fusionan en una figura; alguien medio fuera del encuadre
  • Movimiento: un salto de un fotograma (teletransporte), cosas cayendo por el suelo en 0.1 s, el héroe desapareciendo entre escenas
  • Palabras: texto dentro de una zona que cubren los botones de la plataforma, chino partido en medio de una palabra, un banner desfasado con su escena, ortografía mixta UK/US, un número que nadie puede defender, el subtítulo cubriendo al héroe
  • Sonido: silbidos, una señal que es inaudible bajo la música, señales que se desplazan después de un beat insertado

Individual skills in this repo

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

thativanng/reels-maker

Build and render a film, reel or animation as code. One HTML page draws any frame on demand with window.seek(t), and a headless browser renders every frame at 2x into an MP4 with sound. Use it whenever someone wants a video made with code rather than a video generator, says "make a film / reel / animated explainer / career video", "render this to MP4", "turn this page into a video", or needs the finishing steps (audio cues, loudness, colour-safe encode, phone preview). It is style-agnostic and renders 9:16, 4:5, 1:1 or 16:9. It runs after reel-intake (the brief) and reel-style (the look), builds on template/starter.html or a style pack such as voxel-walk, and passes film-audit before anything is shown to anyone.

thativanng/reels-maker

The interview before any video is built. It reads what the person already gave (source text, CV, links, brand files), then asks the rest in a few short rounds of numbered questions with a recommended answer marked, always including the format (platform, reel or video, ratio, layout, length, sound). It ends in a one-screen brief that splits "you said" from "I assumed", plus a storyboard, and builds nothing until the person says yes. Use it whenever someone asks for a reel, a video, an explainer, a career film, an animation or a "make a video about X", before film-engine or any style pack, and again when a request changes its purpose, platform or audience mid-way.

thativanng/reels-maker

Picks the look of a reel or film before it is built. It shows three genuinely different looks as stills of the same opening frame with the same words, so the person judges the look and not the content. It keeps a log of every look ever shown, so no look comes back unless asked for, and it locks one look on purpose for a series. Use it after reel-intake's brief is signed and before any test strip, whenever someone says "what should it look like", "give me options", "make it look different from last time", "it looks cheap", or starts a new reel or a new series.

thativanng/reels-maker

The voxel career-film style. A blocky 3D version of the person walks, without ever vanishing, through one scene per role. Their outfit changes as they walk, each scene rises out of the floor ahead of them, and a dark banner tracks year, company and role. Use it when someone wants their career, a journey or a "how I got here" told as a short 3D film for LinkedIn or a portfolio, says "make my career film", "turn my CV into a video", "voxel film", or wants a new chapter added to an existing one. It runs on film-engine (render, audio, finish) and must pass film-audit before anything is sent.

Skills relacionados