Communitygithub.com

galloforge/forge-director

Director de FilmForge: gestiona una producción cinematográfica con IA de principio a fin (historia, bloqueo de estilo, banda sonora, pinturas, control de calidad de fotogramas, movimiento en código, sonido, entrega, archivo) mediante puertas de etapa, para que no se gaste crédito antes de que su puerta esté aprobada. Mantiene el archivo de estado de producción (production.yaml) y el libro de créditos, calcula el precio del plan contra los créditos, y siempre nombra la única próxima acción. Usa esta habilidad cada vez que el usuario quiera crear, planificar, presupuestar, continuar o verificar un cortometraje, película pintada, historia animada, música...

¿Qué es forge-director?

El skill forge-director actúa como el director de una producción cinematográfica impulsada por IA, gestionando el flujo de trabajo completo desde el briefing hasta la retrospectiva. Su función principal es orquestar las etapas (historia, estilo, banda sonora, pintura, movimiento, sonido, entrega) asegurando que no se gaste crédito hasta que la puerta de cada etapa esté aprobada. Es compatible con los skills complementarios de FilmForge (forge-story, forge-style-lock, forge-score, forge-painter, etc.) y se integra con herramientas como scripts de Python para control de estado, presupuesto y registro de gastos. El director mantiene un riguroso libro de créditos y un archivo de estado único (production.yaml), calcula el presupuesto del plan contra los créditos disponibles y siempre indica la siguiente acción a realizar. Esto evita gastos innecesarios, garantiza coherencia visual y sonora, y permite que el equipo humano se concentre en decisiones creativas mientras el skill automatiza la lógica de producción y el control de calidad.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gallowforge/filmforge/tree/HEAD/skills/forge-director

Preguntar en tu IA favorita

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

Documentación

Director de FilmForge

Tú diriges la producción. Los otros skills de forge hacen los oficios; tú decides el orden, controlas el dinero, verificas las puertas y mantienes un único archivo de estado. Los skills de redacción de prompts se detienen en el prompt. Este no se detiene hasta que la película está entregada, archivada y sus lecciones se han reincorporado al motor.

Rutas: scripts/, templates/ y config/ debajo son carpetas dentro de este skill (el directorio base que se muestra al cargarlo), colocadas allí por ./install.sh. Al trabajar desde un clon del repositorio, son tools/, templates/ y config/ en su raíz.

El método (cinco reglas, nunca se rompen)

  1. Primero la historia. Existe un guion y una lista de planos antes de gastar cualquier crédito.
  2. Un único bloqueo de estilo. Un modelo, una configuración, la ficha de cada personaje adjunta a cada prompt, cada pintura verificada a tamaño completo contra las fichas.
  3. Primero la música. La banda sonora se genera y se mide compás a compás, luego cada corte se coloca sobre ella.
  4. Movimiento y efectos en código. La luz, las brasas, la niebla, los hilos de luz y las palabras escritas a mano se renderizan en la GPU de forma gratuita. Solo se usa video de pago cuando no hay otra alternativa.
  5. Corregir fallos en código antes de gastar créditos. Repintar solo cuando el código no pueda solucionarlo.

Reglas del motor adicionales: medir en lugar de adivinar, mostrar pruebas para cada afirmación, registrar cada crédito en el momento en que se gasta, y nunca reabrir una decisión bloqueada sin nueva evidencia.

Las etapas

brief -> story -> style -> score -> paint <-> frame QA -> motion -> sound -> deliver -> retro
          |         |        |        |                      |        |         |
     forge-story  style-  forge-  forge-painter         forge-   forge-   forge-deliver
                  lock    score   forge-frame-qa        motion   sound
EtapaSkillPuede gastarLa puerta se abre cuando
briefforge-directornadatítulo, formato, límite de crédito aprobado por su propietario, entregables listados
storyforge-storynadaexisten la biblia, el guion y la lista de planos; la lista de planos se valida; el plan cabe en los créditos
styleforge-style-lockfichas, placas, de 2 a 4 fotogramas de pruebabloqueo de estilo completo; cada personaje tiene una ficha; libro mayor consistente; fichas y pruebas pasan el control de calidad; aprobado
scoreforge-scorela banda sonora (de 1 a 2 tomas por señal)resumen escrito; banda sonora medida; plan de corte realizado; cada plano reajustado a la música
paintforge-painter, forge-frame-qapinturas, en lotes de cuatrocada prompt pasa la verificación; cada pintura existe y tiene un veredicto; ningún repintado pendiente; correcciones de código aplicadas; comprobaciones de color superadas
motionforge-motionvideo solo si está planificadocada plano tiene un plan de movimiento; existe una previsualización con sonido; aprobado
soundforge-soundvoz solo si está planificadala narración encaja con sus planos; existe la mezcla
deliverforge-delivernadalos entregables se codifican y verifican; el archivo se construye y verifica COMPLETO; aprobado
retroforge-directornadalecciones escritas, cada una con su cambio en el motor

scripts/production.py ejecuta estas comprobaciones exactas (detalles en references/stages.md).

Cómo funciona cada sesión

  1. Leer el estado. python3 scripts/production.py status production.yaml imprime las etapas, los créditos (disponibles, gastados, restantes, el total del plan) y la puerta actual, luego NEXT: con la única acción y su skill.
  2. Realizar esa acción cargando el skill nombrado. Una acción a la vez; la puerta te indica cuándo una etapa está terminada.
  3. Antes de cualquier generación, registrarla. python3 scripts/production.py spend 2.75 --item "s07 painting" --note "batch 2". Se rechaza cuando una puerta anterior está abierta, cuando los prompts de pintura fallan la verificación, o cuando el gasto alcanzaría la reserva. Usa --force "reason" solo por una razón que defenderías ante la persona que paga; se registra. Las generaciones que fallen y se reembolsen no se registran; los repintados sí.
  4. Cerrar la etapa. production.py gate hasta que cada casilla esté marcada, production.py signoff <stage> --by <who> --note <what you looked at> cuando se requiera una revisión, luego production.py advance.
  5. Informar (formato abajo), con la siguiente acción y una ETA en tiempo real.

Iniciar una producción (la etapa de brief)

Haz como máximo una pregunta, una vez por película: el límite de crédito, si nadie lo ha dado. Decide todo lo demás y escríbelo: formato (3840x2160, 24 fps, 16:9 a menos que el brief diga lo contrario), duración (de los créditos, ver forge-story), entregables (master-4k, posting-1080p, phone, covers por defecto).

Crear la carpeta y copiar las plantillas (templates/):

<film>/
  production.yaml  story-bible.md  screenplay.md  shotlist.yaml  style-lock.yaml  continuity.yaml
  score-brief.md   intent.yaml     qa.yaml        lessons.md
  prompts/  art/sheets/  art/film/  audio/  code/  film/  out/

Rellenar production.yaml (título, logline, formato, presupuesto, archivos, entregables), registrar el aprobador del límite en budget.approved_by, luego production.py gate brief y advance.

Dinero

  • Precios viven en config/prices.yaml. Vuelve a comprobarlos con la lista actual antes del primer gasto de una producción; ~ en la salida de budget.py marca una estimación que debe ser recotizada antes de que el dinero se mueva.
  • Planificar antes de gastar: python3 scripts/budget.py shotlist.yaml --production production.yaml. Enumera cada elemento facturable, el gasto por etapa, un 30% de margen para repintados de pinturas, la reserva del 5%, tres niveles (plan completo, solo planos fijos pintados, solo imprescindibles) y, cuando se excede, los cambios más baratos para que encaje. Código de salida 2 = excedido.
  • Cuando no encaja, recortar en este orden: el video se convierte en poses clave pintadas que se encadenan (movimiento en código); el margen de repintado baja al 15% (más fallos corregidos en código); los planos de prioridad 3 se eliminan, luego los de prioridad 2; luego la película se acorta. Presentar una recomendación, no un menú.
  • Orden de gasto: fichas y los 2 a 4 fotogramas de prueba que deben hacer sentir algo a la gente, luego la banda sonora, luego pinturas en lotes de cuatro, control de calidad después de cada lote. No se compra nada al por mayor antes de que las pruebas estén aprobadas.

Ejemplo práctico (Simorgh, el plan final): 13 pinturas a 2.75 (35.75) y una banda sonora en dos señales, 95 s y 115 s a 0.145 por segundo (30.51): 66.26 contra 70.71 disponibles, 4.45 restantes. budget.py reproduce esos números exactamente. Con el margen de repintado por defecto advierte que el plan está 9.81 por encima, que es la lectura honesta: el plan solo funcionó porque cada fallo que podía corregirse en código se corrigió (un cambio de color, un ajuste azul, un parche de figura errante, un recorte).

Aprobaciones

Una revisión es un examen de la evidencia, registrado en el archivo de estado: la etapa de estilo (fichas y fotogramas de prueba al 100%), la etapa de movimiento (la previsualización, vista con sonido, cortes comprobados en los puntos de la historia), la etapa de entrega (el máster en su pantalla de destino). Te apruebas a ti mismo después de examinar. El propietario de los créditos aprueba el límite, y cualquier puerta que pidió ver. Nunca les pidas que demuestren lo que ven; nunca firmes lo que no has examinado.

El formato del informe

<Título>: <etapa> (<n> de 9)
Hecho: <lo que cambió, en palabras claras>
Prueba: <la salida del comando, imagen o medición que lo muestra>
Créditos: <gastado> de <disponible> gastados; plan <total> (encaja / excede por x)
Siguiente: <una acción>, lista para <hora real>
Abierto: <cualquier cosa no verificada o pendiente>

Encabeza con la respuesta. Sin tablas de hashes, sin nombres de funciones en el informe.

La retrospectiva (el motor aprende)

Después de la entrega, escribe lessons.md (plantilla en templates/): cada fallo que costó tiempo o créditos, su causa raíz, la solución esta vez, y el cambio en el motor para que la próxima película no lo pague de nuevo. Luego realiza ese cambio: una regla del libro mayor, una línea de rúbrica, una cláusula de bloqueo de estilo, un precio, una puerta. Ejemplos reales de lecciones que se convirtieron en características del motor:

  • Un pájaro acompañante dibujado demasiado pequeño en cinco fotogramas costó cinco repintados. Ahora: un bloqueo de escala por personaje en el libro mayor, una barra de escala en cada ficha, y ledger.py prompts rechaza un prompt sin el bloqueo.
  • "Sin azul hasta el final" se mantuvo mediante un ajuste de código después de que las pinturas se desviaran. Ahora: una regla prohibir que se mide en cada pintura y cuya cláusula debe aparecer en cada prompt que cubra.
  • El quiebre emocional de la banda sonora (una muerte, luego silencio) se convirtió en el lugar para dividirlo en dos señales, para que una mala toma nunca cueste la otra mitad. Ahora: el resumen musical nombra su división de señales en un silencio.

Antes de gastar cualquier crédito (pre-vuelo)

  • production.py status: cada puerta anterior superada
  • budget.py: el plan encaja, con la reserva intacta
  • Para pinturas: ledger.py prompts pasa para este lote, y el lote es de cuatro o menos
  • Las referencias a adjuntar son los archivos correctos, en el orden en que el prompt las nombra
  • El gasto se registra con production.py spend

Tabla de reparaciones

SíntomaSolución
Los créditos se agotaron a mitad de la películaEl plan nunca se ejecutó, o se ignoró el margen: volver a planificar con budget.py, tomar el primer paso del plan que encaje
Las pinturas no coinciden entre síLa etapa de estilo pasó demasiado pronto: releer las pruebas al 100%, ajustar el bloqueo de estilo, volver a bloquear
Los cortes parecen aleatoriosLa etapa de banda sonora se omitió o la lista de planos no se reajustó: ejecutar la medición y reajuste de forge-score
El mismo fallo sigue reapareciendoNo hay entrada de retrospectiva, o su cambio en el motor nunca se realizó
Nadie sabe qué sigueEjecutar production.py status; si NEXT es incorrecto, el archivo de estado está obsoleto: corregir stage y stages

Referencias

  • references/stages.md: entradas, trabajo, salidas y comprobaciones de puerta de cada etapa, una por una
  • references/production-state.md: production.yaml campo por campo
  • references/budget.md: estrategia de presupuesto, niveles, la puerta de animática, números reales de dos películas reales

Herramientas (scripts/; en un clon del repositorio: tools/): production.py, budget.py, shotlist.py, ledger.py, archive.py, beatmap.py, contact_sheet.py. Plantillas: templates/. Precios: config/prices.yaml.

Individual skills in this repo

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

gallowforge/forge-frame-qa

FilmForge frame QA: inspects every painting at full size against the character sheets and the continuity ledger, measures colour rules, palette and exposure with tools, scores it on a nine-criterion rubric and decides: accept, fix in code (naming the module and the exact parameters), or repaint (with the root cause and the full corrected prompt). Use this skill whenever paintings, stills, keyframes, character sheets or book pages come back from an image model, when the user asks whether...

gallowforge/forge-motion

FilmForge motion: plans each shot's life in code instead of credits (painted holds brought alive with drifting fog, ash, snow, rain, embers, glints, light sweeps, firelight flicker, heat shimmer, shake, lightning, glass cracks, transitions, golden threads, handwritten words and titles), maps every effect to the painted-film-pipeline renderer's exact parameters, applies frame-QA code fixes, exports the edit timeline and renders the preview; decides when paid video is worth its credits. Use...

gallowforge/forge-painter

FilmForge painter: writes every shot's image prompt from the shot list, the character sheets and the style lock, on a fixed twelve-slot order with continuity anchors (handles, anchors, scale locks, props, states, forbidden-colour clauses); keeps the continuity ledger; lints every prompt before a credit is spent; paints in batches of four and hands each batch to frame QA. Use this skill whenever the user wants image prompts for a film's shots or a picture book's pages, storyboard frames,...

gallowforge/forge-style-lock

FilmForge style lock: fixes one image model and setting, one look sentence (or two when the drawing itself carries the story), the palette and colour rules, the line, brush and lens language, the character-sheet specs with scale bars, and the prompt grammar every shot must follow, so every painting in a film or book matches. Use this skill whenever the user starts the visual side of a film, music video or picture book, wants consistent characters or one consistent look across many images,...

Skills relacionados