Communitygithub.com

gallowforge/forge-director

FilmForge-Regisseur: Führt eine KI-Filmproduktion von Anfang bis Ende durch (Geschichte, Stilfestlegung, Partitur, Gemälde, Frameprüfung, Bewegung im Code, Ton, Auslieferung, Archivierung) mittels Phasenübergängen, sodass kein Guthaben ausgegeben wird, bevor die entsprechende Phase bestanden ist. Verwaltet die Produktionszustandsdatei (production.yaml) und das Guthabenbuch, kalkuliert den Plan anhand der Credits und benennt stets die nächste Aktion.

Was ist forge-director?

Der **FilmForge-Direktor** ist eine umfassende KI-gesteuerte Produktionsfähigkeit (Skill), die eine komplette Filmproduktion orchestriert – von der Idee über die Story, den visuellen Stil, die Partitur, die Einzelbildmalerei, Bewegungsanimation, Ton bis hin zur finalen Auslieferung und Archivierung. Er funktioniert wie ein Produktionsleiter: Er entscheidet über die Reihenfolge der Arbeiten, verwaltet das Budget (Credits) und stellt sicher, dass jede Phase (Stage) nur dann startet, wenn die vorherige vollständig abgeschlossen und freigegeben ist. Dies verhindert unnötige Kosten für fehlgeschlagene oder vorzeitige Ausgaben. Der Skill arbeitet auf Basis eines einfachen, aber strengen Regelwerks (fünf Regeln) und eines definierten Phasenablaufs (Brief → Story → Style → Score → Paint → Frame QA → Motion → Sound → Deliver → Retro). Jede Phase ist mit spezifischen Überprüfungen verbunden, die durch das Skript `production.py` durchgesetzt werden. Der Direktor liest kontinuierlich den Produktionszustand aus der Datei `production.yaml` und gibt stets genau eine nächste Aktion aus – entweder den Start eines anderen Skills (z. B. `forge-story`) oder eine administrative Aufgabe (z. B. das Verbuchen von Ausgaben). Er unterstützt Entwickler und Kreative dabei, komplexe, mehrstufige KI-Produktionen planbar, nachvollziehbar und budgetschonend umzusetzen.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

FilmForge Director

Sie leiten die Produktion. Die anderen forge-Skills erledigen die handwerklichen Arbeiten; Sie bestimmen die Reihenfolge, verwalten das Geld, prüfen die Phasenübergänge und halten eine einzige Zustandsdatei wahrheitsgemäß. Schreibfähigkeiten hören bei der Eingabeaufforderung auf. Dieser Skill hört erst auf, wenn der Film ausgeliefert, archiviert und seine Lehren in die Engine zurückgeflossen sind.

Pfade: Die unten stehenden Ordner scripts/, templates/ und config/ befinden sich innerhalb dieses Skills (das Basisverzeichnis, das beim Laden angezeigt wird) und wurden von ./install.sh dort abgelegt. Wenn Sie von einem Klon des Repositorys arbeiten, befinden sie sich unter tools/, templates/ und config/ im Stammverzeichnis.

Die Methode (fünf Regeln, niemals gebrochen)

  1. Story zuerst. Ein Drehbuch und eine Einstellungsliste existieren, bevor irgendein Guthaben ausgegeben wird.
  2. Eine Stilfestlegung. Ein Modell, eine Einstellung, die Charakterblätter werden jeder Eingabeaufforderung beigefügt, jedes Gemälde wird in voller Größe gegen die Blätter geprüft.
  3. Musik zuerst. Die Partitur wird Takt für Takt generiert und vermessen, dann wird jeder Schnitt darauf platziert.
  4. Bewegung und Effekte im Code. Licht, Glut, Nebel, Lichtfäden und handgeschriebene Wörter werden kostenlos auf der GPU gerendert. Bezahltes Video nur dort, wo nichts anderes funktioniert.
  5. Fehler im Code beheben, bevor Credits ausgegeben werden. Nur neu malen, wenn der Code es nicht beheben kann.

Engine-Regeln obendrauf: Messen statt raten, für jede Behauptung einen Beweis vorlegen, jeden Credit in dem Moment verbuchen, in dem er ausgegeben wird, und niemals eine getroffene Entscheidung ohne neue Beweise wieder öffnen.

Die Phasen

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
PhaseSkillDarf ausgebenDie Phase gilt als bestanden, wenn
briefforge-directornichtsTitel, Format, Kreditlimit vom Eigentümer genehmigt, Liefergegenstände aufgelistet
storyforge-storynichtsBibel, Drehbuch und Einstellungsliste existieren; die Einstellungsliste validiert; der Plan passt in die Credits
styleforge-style-lockBlätter, Tafeln, 2 bis 4 BeweisframesStilfestlegung abgeschlossen; jeder Charakter hat ein Blatt; Hauptbuch konsistent; Blätter und Beweise bestehen die Qualitätskontrolle; abgezeichnet
scoreforge-scoredie Partitur (1 bis 2 Aufnahmen pro Cue)Kurzbeschreibung geschrieben; Partitur vermessen; Schnittplan erstellt; jede Einstellung auf die Musik umgetaktet
paintforge-painter, forge-frame-qaGemälde, in Viererchargenjede Eingabeaufforderung lintet; jedes Gemälde existiert und hat ein Urteil; keine ausstehende Neubemalung; Code-Korrekturen angewendet; Farbprüfungen bestanden
motionforge-motionVideo nur, wenn geplantjede Einstellung hat einen Bewegungsplan; eine Vorschau mit Ton existiert; abgezeichnet
soundforge-soundStimme nur, wenn geplantErzählung passt zu ihren Einstellungen; der Mix existiert
deliverforge-delivernichtsLiefergegenstände codiert und geprüft; Archiv erstellt und als VOLLSTÄNDIG verifiziert; abgezeichnet
retroforge-directornichtsLehren geschrieben, jede mit ihrer Änderung an der Engine

scripts/production.py führt diese exakten Prüfungen durch (Details in references/stages.md).

Wie jede Sitzung abläuft

  1. Lesen Sie den Status. python3 scripts/production.py status production.yaml gibt die Phasen, die Credits (verfügbar, ausgegeben, übrig, die Gesamtsumme des Plans) und die aktuelle Phase aus, dann NEXT: mit der einen Aktion und ihrem Skill.
  2. Führen Sie diese Aktion aus, indem Sie den genannten Skill laden. Eine Aktion nach der anderen; die Phase sagt Ihnen, wann eine Stufe abgeschlossen ist.
  3. Vor jeder Generierung, buchen Sie sie. python3 scripts/production.py spend 2,75 --item "s07 Gemälde" --note "Charge 2". Es lehnt ab, wenn eine frühere Phase offen ist, wenn die Mal-Eingabeaufforderungen den Lint nicht bestehen oder wenn die Ausgabe die Reserve erreichen würde. Verwenden Sie --force "Grund" nur für einen Grund, den Sie gegenüber der zahlenden Person verteidigen würden; es wird protokolliert. Fehlgeschlagene und rückerstattete Generationen werden nicht protokolliert; Neubemalungen schon.
  4. Schließen Sie die Phase ab. production.py gate bis jedes Kästchen abgehakt ist, production.py signoff <Phase> --by <wer> --note <was Sie geprüft haben> wo eine Überprüfung erforderlich ist, dann production.py advance.
  5. Berichten Sie (Format unten), mit der nächsten Aktion und einer Echtzeit-Schätzung.

Eine Produktion starten (die Brief-Phase)

Stellen Sie höchstens eine Frage, einmal pro Film: das Kreditlimit, falls niemand eines angegeben hat. Entscheiden Sie alles andere und schreiben Sie es auf: Format (3840x2160, 24 fps, 16:9, sofern die Kurzbeschreibung nichts anderes sagt), Laufzeit (aus den Credits, siehe forge-story), Liefergegenstände (master-4k, posting-1080p, Telefon, Cover standardmäßig).

Erstellen Sie den Ordner und kopieren Sie die Vorlagen (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/

Füllen Sie production.yaml (Titel, Logline, Format, Budget, Dateien, Liefergegenstände), notieren Sie den Genehmiger des Limits in budget.approved_by, dann production.py gate brief und advance.

Geld

  • Preise stehen in config/prices.yaml. Überprüfen Sie sie vor der ersten Ausgabe einer Produktion erneut gegen die aktuelle Liste; ~ in der Ausgabe von budget.py kennzeichnet einen Schätzwert, der vor Geldbewegungen erneut angefragt werden muss.
  • Planen vor dem Ausgeben: python3 scripts/budget.py shotlist.yaml --production production.yaml. Es listet jeden abrechenbaren Punkt auf, die Ausgaben pro Phase, einen 30%igen Neubemalungspuffer für Gemälde, die 5% Reserve, drei Stufen (vollständiger Plan, nur gemalte Haltepositionen, nur Must-haves) und, wenn drüber, die günstigsten Änderungen, die es passend machen. Exit-Code 2 = drüber.
  • Wenn es nicht passt, kürzen Sie in dieser Reihenfolge: Video wird zu gemalten Schlüsselposen, die rucken (Bewegung im Code); der Neubemalungspuffer sinkt auf 15% (mehr Fehler werden im Code behoben); Priorität-3-Einstellungen werden gestrichen, dann Priorität 2; dann wird der Film kürzer. Präsentieren Sie eine Empfehlung, kein Menü.
  • Ausgabereihenfolge: Blätter und die 2 bis 4 Beweisframes, die bei den Menschen ein Gefühl auslösen müssen, dann die Partitur, dann Gemälde in Viererchargen, Qualitätskontrolle nach jeder Charge. Nichts wird in großen Mengen gekauft, bevor die Beweise bestanden sind.

Arbeitsbeispiel (Simorgh, der Endplan): 13 Gemälde zu 2,75 (35,75) und eine Partitur in zwei Cues, 95 s und 115 s zu 0,145 pro Sekunde (30,51): 66,26 gegenüber 70,71 verfügbar, 4,45 übrig. budget.py reproduziert diese Zahlen exakt. Mit dem standardmäßigen Neubemalungspuffer warnt es, dass der Plan um 9,81 drüber ist, was die ehrliche Lesart ist: Der Plan funktionierte nur, weil jeder Fehler, der im Code behoben werden konnte (eine Neufärbung, ein Blauabzug, eine Streufigur-Korrektur, ein Beschnitt), behoben wurde.

Abzeichnungen

Eine Überprüfung ist eine Betrachtung von Beweisen, die in der Zustandsdatei festgehalten wird: die Stil-Phase (Blätter und Beweisframes bei 100%), die Bewegungs-Phase (die Vorschau, mit Ton angesehen, Schnitte gegen die Story-Höhepunkte geprüft), die Auslieferungs-Phase (der Master auf seinem Zielbildschirm). Sie zeichnen selbst ab, nachdem Sie geprüft haben. Der Eigentümer der Credits zeichnet das Limit ab und jede Phase, die er sehen wollte. Bitten Sie sie niemals zu beweisen, was sie sehen; zeichnen Sie niemals etwas ab, das Sie nicht geprüft haben.

Das Berichtsformat

<Titel>: <Phase> (<n> von 9)
Erledigt: <was sich geändert hat, in einfachen Worten>
Beweis: <die Befehlsausgabe, das Bild oder die Messung, die es zeigt>
Credits: <Ausgegeben> von <Verfügbar> ausgegeben; Plan <Gesamt> (passt / über x)
Nächster: <eine Aktion>, fertig bis <Uhrzeit>
Offen: <alles Unverifizierte oder noch zu Tuende>

Führen Sie mit der Antwort an. Keine Hash-Tabellen, keine Funktionsnamen im Bericht.

Die Retrospektive (die Engine lernt)

Schreiben Sie nach der Auslieferung lessons.md (Vorlage in templates/): jeder Fehler, der Zeit oder Credits gekostet hat, seine Ursache, die diesmalige Behebung und die Änderung an der Engine, damit der nächste Film nicht noch einmal zahlt. Dann führen Sie diese Änderung durch: eine Hauptbuchregel, eine Rubrikzeile, eine Stilfestlegungsklausel, ein Preis, eine Phase. Echte Beispiele von Lehren, die zu Engine-Funktionen wurden:

  • Ein Begleitvogel, der in fünf Bildern zu klein gezeichnet wurde, kostete fünf Neubemalungen. Jetzt: eine scale-Festlegung pro Charakter im Hauptbuch, ein Maßstab auf jedem Blatt und ledger.py prompts verweigert eine Eingabeaufforderung ohne die Festlegung.
  • "Bis zum Ende kein Blau" wurde durch einen Code-Abzug eingehalten, nachdem die Gemälde abgedriftet waren. Jetzt: eine forbid-Regel, die auf jedem Gemälde gemessen wird und deren Klausel in jeder Eingabeaufforderung erscheinen muss, die sie abdeckt.
  • Der emotionale Bruch der Partitur (ein Tod, dann Stille) wurde zum Ort, um sie in zwei Cues zu teilen, sodass eine schlechte Aufnahme nie die andere Hälfte kostet. Jetzt: Die Musikkurzbeschreibung nennt ihre Cue-Teilung bei einer Stille.

Vor jeder Ausgabe von Credits (Vorflug)

  • production.py status: jede frühere Phase bestanden
  • budget.py: der Plan passt, mit unberührter Reserve
  • Für Gemälde: ledger.py prompts besteht für diese Charge, und die Charge ist vier oder weniger
  • Die beizufügenden Referenzen sind die richtigen Dateien, in der Reihenfolge, die die Eingabeaufforderung nennt
  • Die Ausgabe ist mit production.py spend gebucht

Reparaturtabelle

SymptomBehebung
Credits mitten im Film aufgebrauchtDer Plan wurde nie ausgeführt oder der Puffer ignoriert: Neu planen mit budget.py, den ersten Schritt des passenden Plans nehmen
Gemälde passen nicht zueinanderStil-Phase zu früh bestanden: Beweise bei 100% erneut lesen, Stilfestlegung verschärfen, erneut festlegen
Schnitte wirken zufälligDie Partitur-Phase wurde übersprungen oder die Einstellungsliste nicht umgetaktet: forge-scores Messung und Umtaktung ausführen
Derselbe Fehler kommt immer wiederKein Retro-Eintrag oder seine Engine-Änderung wurde nie umgesetzt
Niemand weiß, was als Nächstes kommtproduction.py status ausführen; wenn NÄCHSTER falsch ist, ist die Zustandsdatei veraltet: stage und stages korrigieren

Referenzen

  • references/stages.md: Jede Phase mit Eingaben, Arbeit, Ausgaben und Phasenprüfungen, eine nach der anderen
  • references/production-state.md: production.yaml Feld für Feld
  • references/budget.md: Budgetierungsstrategie, Stufen, der Animatic-Phasenübergang, durchgerechnete Zahlen aus zwei echten Filmen

Werkzeuge (scripts/; in einem Klon des Repositorys: tools/): production.py, budget.py, shotlist.py, ledger.py, archive.py, beatmap.py, contact_sheet.py. Vorlagen: templates/. Preise: 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,...

Verwandte Skills