Communitygithub.com

galloyforge/forge-director

Diretor do FilmForge: gerencia uma produção cinematográfica completa com IA (história, estilo, trilha sonora, pinturas, revisão de quadros, movimento em código, som, entrega e arquivamento) através de portões de etapas, garantindo que nenhum crédito seja gasto antes da aprovação do portão. Mantém o arquivo de estado da produção (production.yaml) e o registro de créditos, define o preço do plano com base nos créditos e sempre indica a próxima ação a ser executada.

O que é forge-director?

O Forge Director é o núcleo de controle da suíte FilmForge, um sistema modular de produção cinematográfica com IA. Ele não executa as tarefas criativas diretamente — isso é delegado a habilidades especializadas como forge-story, forge-painter ou forge-score —, mas sim gerencia o fluxo de trabalho, o orçamento e a qualidade, garantindo que cada etapa só prossiga quando seu portão (gate) for aprovado. O diretor opera baseado em cinco regras imutáveis que priorizam história, estilo consistente, música primeiro, efeitos em código (GPU) e correção de erros via código antes de gastar mais créditos. O estado da produção é mantido em um único arquivo `production.yaml`, e o script `scripts/production.py` é usado para verificar o status, registrar gastos (`production.py spend`), fechar portões e avançar etapas. Antes de qualquer gasto, o plano é validado com `scripts/budget.py` para garantir que cabe no orçamento, incluindo buffers de repintura e reservas. O ciclo termina com uma retrospectiva (`retro`) que gera lições e melhorias no motor, evitando que os mesmos erros se repitam em produções futuras. A habilidade suporta todas as plataformas que executam o ecossistema FilmForge (Claude Code, Cursor, etc.) e é indicada sempre que o usuário deseja criar, planejar, orçar, continuar ou verificar o andamento de um curta-metragem, filme pintado, história animada ou produção musical.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Diretor do FilmForge

Você gerencia a produção. As outras habilidades do forge executam os trabalhos manuais; você decide a ordem, controla o dinheiro, verifica os portões e mantém um único arquivo de estado verdadeiro. Habilidades de escrita de prompt param no prompt. Esta não para até que o filme seja entregue, arquivado e suas lições sejam incorporadas de volta ao motor.

Caminhos: scripts/, templates/ e config/ abaixo são pastas dentro desta habilidade (o diretório base exibido quando ela carrega), colocadas lá pelo ./install.sh. Trabalhando a partir de um clone do repositório, eles são tools/, templates/ e config/ na raiz.

O método (cinco regras, nunca quebradas)

  1. História primeiro. Um roteiro e uma lista de planos existem antes de qualquer crédito ser gasto.
  2. Um bloqueio de estilo. Um modelo, uma configuração, a ficha de cada personagem anexada a cada prompt, cada pintura verificada em tamanho real contra as fichas.
  3. Música primeiro. A trilha sonora é gerada e medida batida por batida, e cada corte é colocado sobre ela.
  4. Movimento e efeitos em código. Luz, brasas, névoa, fios de luz e palavras escritas à mão são renderizados na GPU gratuitamente. Vídeo pago apenas onde nada mais funciona.
  5. Corrigir deslizes em código antes de gastar créditos. Repintar apenas quando o código não consegue corrigir.

Regras do motor adicionais: medir em vez de adivinhar, mostrar evidências para cada afirmação, registrar cada crédito no momento em que é gasto e nunca reabrir uma decisão bloqueada sem novas evidências.

As 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
EtapaHabilidadePode gastarO portão passa quando
briefforge-directornadatítulo, formato, teto de créditos aprovado pelo proprietário, entregas listadas
storyforge-storynadabíblia, roteiro e lista de planos existem; a lista de planos é validada; o plano cabe nos créditos
styleforge-style-lockfichas, pranchas, 2 a 4 quadros de provabloqueio de estilo completo; cada personagem tem uma ficha; livro-razão consistente; fichas e provas passam na QA; aprovado
scoreforge-scorea trilha sonora (1 a 2 takes por deixa)briefing escrito; trilha medida; plano de corte feito; cada plano reajustado à música
paintforge-painter, forge-frame-qapinturas, em lotes de quatrotodos os prompts passam na verificação; cada pintura existe e tem um veredito; nenhuma repintura pendente; correções de código aplicadas; verificações de cores passam
motionforge-motionvídeo apenas se planejadocada plano tem um plano de movimento; uma prévia com som existe; aprovado
soundforge-soundvoz apenas se planejadonarração se encaixa em seus planos; a mixagem existe
deliverforge-delivernadaentregas codificadas e verificadas; archive construído e verificado COMPLETO; aprovado
retroforge-directornadalições escritas, cada uma com sua mudança no motor

scripts/production.py executa exatamente essas verificações (detalhes em references/stages.md).

Como cada sessão é executada

  1. Leia o estado. python3 scripts/production.py status production.yaml imprime as etapas, os créditos (disponíveis, gastos, restantes, o total do plano) e o portão atual, depois NEXT: com a única ação e sua habilidade.
  2. Execute essa ação carregando a habilidade nomeada. Uma ação de cada vez; o portão informa quando uma etapa está concluída.
  3. Antes de qualquer geração, registre-a. python3 scripts/production.py spend 2.75 --item "s07 painting" --note "batch 2". Recusa quando um portão anterior está aberto, quando os prompts de pintura falham na verificação ou quando o gasto atingiria a reserva. Use --force "motivo" apenas por um motivo que você defenderia para quem está pagando; é registrado. Gerações que falham e são reembolsadas não são registradas; repinturas sim.
  4. Feche a etapa. production.py gate até que cada item seja marcado, production.py signoff <etapa> --by <quem> --note <o que você verificou> onde uma revisão é necessária, depois production.py advance.
  5. Relate (formato abaixo), com a próxima ação e uma previsão de horário.

Iniciando uma produção (a etapa de brief)

Faça no máximo uma pergunta, uma vez por filme: o teto de créditos, se ninguém o deu. Decida todo o resto e escreva: formato (3840x2160, 24 fps, 16:9 a menos que o brief diga o contrário), duração (a partir dos créditos, veja forge-story), entregas (master-4k, posting-1080p, telefone, capas por padrão).

Crie a pasta e copie os modelos (templates/):

<filme>/
  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/

Preencha production.yaml (título, logline, formato, orçamento, arquivos, entregas), registre o aprovador do teto em budget.approved_by, depois production.py gate brief e advance.

Dinheiro

  • Preços ficam em config/prices.yaml. Verifique-os novamente com a lista atual antes do primeiro gasto de uma produção; ~ na saída do budget.py marca uma estimativa que deve ser re-cotada antes que o dinheiro seja movido.
  • Planeje antes de gastar: python3 scripts/budget.py shotlist.yaml --production production.yaml. Lista cada item cobrável, o gasto por etapa, um buffer de repintura de 30% nas pinturas, a reserva de 5%, três níveis (plano completo, apenas pinturas mantidas, apenas itens essenciais) e, quando estourar, as mudanças mais baratas que o fazem caber. Código de saída 2 = estourou.
  • Quando não couber, corte nesta ordem: vídeo se torna poses-chave pintadas que se encaixam (movimento em código); o buffer de repintura cai para 15% (mais deslizes corrigidos em código); os planos de prioridade 3 vão, depois os de prioridade 2; então o filme fica mais curto. Apresente uma recomendação, não um menu.
  • Ordem de gasto: fichas e os 2 a 4 quadros de prova que devem fazer as pessoas sentirem algo, depois a trilha sonora, depois pinturas em lotes de quatro, QA após cada lote. Nada é comprado em massa antes das provas passarem.

Exemplo prático (Simorgh, o plano final): 13 pinturas a 2.75 (35.75) e uma trilha em duas deixas, 95 s e 115 s a 0.145 por segundo (30.51): 66.26 contra 70.71 disponíveis, 4.45 restantes. budget.py reproduz esses números exatamente. Com o buffer de repintura padrão, ele avisa que o plano está 9.81 acima, que é a leitura honesta: o plano só funcionou porque cada deslize que podia ser corrigido em código foi (uma recoloração, um puxão azul, um remendo de figura perdida, um corte).

Aprovações

Uma revisão é uma olhada nas evidências, registrada no arquivo de estado: a etapa de estilo (fichas e quadros de prova a 100%), a etapa de movimento (a prévia, assistida com som, cortes verificados nos pontos importantes da história), a etapa de entrega (o master na tela alvo). Você aprova a si mesmo após olhar. O proprietário dos créditos aprova o teto e qualquer portão que pediu para ver. Nunca peça a eles para provar o que veem; nunca aprove o que você não olhou.

O formato do relatório

<Título>: <etapa> (<n> de 9)
Feito: <o que mudou, em palavras simples>
Evidência: <a saída do comando, imagem ou medição que mostra>
Créditos: <gasto> de <disponível> gastos; plano <total> (cabe / excede em x)
Próximo: <uma ação>, pronto até <horário>
Aberto: <qualquer coisa não verificada ou ainda a fazer>

Comece com a resposta. Sem tabelas de hashes, sem nomes de funções no relatório.

A retrospectiva (o motor aprende)

Após a entrega, escreva lessons.md (modelo em templates/): cada deslize que custou tempo ou créditos, sua causa raiz, a correção desta vez, e a mudança no motor para que o próximo filme não pague de novo. Em seguida, faça essa mudança: uma regra no livro-razão, uma linha de rubrica, uma cláusula de bloqueio de estilo, um preço, um portão. Exemplos reais de lições que se tornaram funcionalidades do motor:

  • Um pássaro companheiro desenhado muito pequeno em cinco quadros custou cinco repinturas. Agora: um bloqueio scale por personagem no livro-razão, uma barra de escala em cada ficha, e ledger.py prompts recusa um prompt sem o bloqueio.
  • "Nada de azul até o final" foi mantido por uma puxada de código após as pinturas se desviarem. Agora: uma regra forbid que é medida em cada pintura e cuja cláusula deve aparecer em cada prompt que cobre.
  • A quebra emocional da trilha (uma morte, depois silêncio) tornou-se o lugar para dividi-la em duas deixas, para que uma deixa ruim nunca custe a outra metade. Agora: o briefing musical nomeia sua divisão de deixa em um silêncio.

Antes de qualquer crédito ser gasto (pré-voo)

  • production.py status: cada portão anterior passou
  • budget.py: o plano cabe, com a reserva intacta
  • Para pinturas: ledger.py prompts passa para este lote, e o lote tem quatro ou menos
  • As referências a anexar são os arquivos corretos, na ordem que o prompt os nomeia
  • O gasto é registrado com production.py spend

Tabela de reparos

SintomaCorreção
Créditos acabaram no meio do filmeO plano nunca foi executado, ou o buffer foi ignorado: replaneje com budget.py, siga o primeiro passo do plano que cabe
Pinturas não combinam entre siA etapa de estilo passou muito cedo: releia as provas a 100%, aperte o bloqueio de estilo, rebloqueie
Cortes parecem aleatóriosA etapa de trilha foi pulada ou a lista de planos não foi reajustada: execute a medição e o reajuste do forge-score
O mesmo deslize continua voltandoNenhuma entrada na retrospectiva, ou sua mudança no motor nunca foi feita
Ninguém sabe o que vem a seguirExecute production.py status; se NEXT estiver errado, o arquivo de estado está desatualizado: corrija stage e stages

Referências

  • references/stages.md: entradas, trabalho, saídas e verificações de portão de cada etapa, uma por uma
  • references/production-state.md: campo por campo do production.yaml
  • references/budget.md: estratégia de orçamento, níveis, o portão de animatic, números trabalhados de dois filmes reais

Ferramentas (scripts/; em um clone do repositório: tools/): production.py, budget.py, shotlist.py, ledger.py, archive.py, beatmap.py, contact_sheet.py. Modelos: templates/. Preços: 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,...

Habilidades Relacionadas