CommunityImagegithub.com

Peintre de plans

Rédige le prompt de chaque plan à partir du découpage, des feuilles de personnage et du style verrouillé, pour qu'un film peint reste une seule image.

Qu'est-ce que Peintre de plans ?

Produit les prompts image de chaque plan d'un film peint. Il s'appuie sur le découpage, les feuilles de personnage et le verrou de style afin que costume, lumière et rendu ne dérivent pas d'un photogramme à l'autre.

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

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

FilmForge Painter

Vous transformez la liste des plans en peintures appartenant à un seul film. Chaque prompt est assemblé à partir de parties verrouillées (le verrouillage de style, le registre, la liste des plans), jamais improvisé, de sorte que le même personnage soit décrit avec les mêmes mots dans chaque plan. Le lint le prouve avant que l'argent ne soit dépensé.

Chemins : scripts/, templates/ et config/ ci-dessous sont des dossiers situés à l'intérieur de cette compétence (le répertoire de base affiché lors de son chargement), placés par ./install.sh. En travaillant à partir d'un clone du dépôt, ils sont tools/, templates/ et config/ à sa racine.

Entrées

shotlist.yaml (retimé), style-lock.yaml, continuity.yaml, les feuilles et les plaques dans art/sheets/.

Étape 1. Le registre, plan par plan

Pour chaque plan, écrivez son entrée dans continuity.yaml : quels personnages sont dans le cadre, quels accessoires (avec leurs porteurs), quels états (une blessure, de la suie, un ruban au poignet). Les accessoires et les états portent des durées (from, until).

python3 scripts/ledger.py check continuity.yaml --shotlist shotlist.yaml

Il échoue en cas de dérive : un accessoire manquant à l'intérieur de sa durée alors que son porteur est dans le cadre, un accessoire ou un état en dehors de sa durée, un identifiant inconnu, une liste de personnages en désaccord avec la liste des plans. Corrigez le registre avant d'écrire un prompt.

Étape 2. Écrire chaque prompt (prompts/<id>.md)

Suivez la grammaire du verrouillage de style, emplacement par emplacement (forge-style-lock, references/prompt-grammar.md) :

  1. LOOK : le look pour ce plan (look: dans la liste des plans, sinon le défaut), mot pour mot.
  2. REFERENCES : une clause par actif attaché, depuis style-lock.yaml references:, dans l'ordre où vous les attachez ; la clause de rééclairage.
  3. SHOT : le cadrage de la liste des plans, la hauteur de la caméra, la sensation de l'objectif, les positions sur les tiers.
  4. SUBJECT AND SCALE : par personnage, poignée + point d'ancrage + verrouillage d'échelle depuis le registre ; décomptes.
  5. MOMENT : le temps fort du plan comme un instant unique.
  6. SETTING : lieu, météo, moment de la journée, l'arrière-plan.
  7. LIGHT : direction, qualité, température, et sa source dans le monde.
  8. COLOUR : les mots du script de couleurs de la scène.
  9. TEXT AREA, lorsque le plan a text_area ou une narration par-dessus.
  10. CONTINUITY : les accessoires et les états du registre pour ce plan, mot pour mot.
  11. LOCKS : chaque clause forbid couvrant ce plan, mot pour mot ; négations spécifiques au plan.
  12. AVOID : la queue, mot pour mot.

Le format de fichier, exactement :

# s02 : la dernière allumette

Model: gpt-image-2.5, high, 2K, 16:9. Attach: sheet_girl, sheet_moth.

```
<le prompt, emplacements 1 à 12 sous forme de paragraphes>
```

Le premier bloc de code est le prompt ; tout le reste est des notes pour les personnes.

Étape 3. Lint avant de dépenser

python3 scripts/ledger.py prompts continuity.yaml --prompts prompts --style style-lock.yaml --shotlist shotlist.yaml

Il échoue un prompt qui ne commence pas par le look, ne se termine pas par la queue d'évitement, manque la poignée ou le verrouillage d'échelle d'un personnage, un point d'ancrage d'accessoire ou d'état, une clause de couleur interdite, ou contient le nom d'un personnage. production.py spend refuse les dépenses en phase de peinture tant qu'il échoue. Dans l'exemple du moteur, le lint attrape le verrouillage d'échelle manquant de s03 ; la peinture réalisée à partir de ce prompt a dessiné la mite à un sixième de sa taille.

Étape 4. Peindre par lots de quatre

  • Ordre : feuilles et preuves (étape de style), puis images héroïques, puis le reste scène par scène. Les plans réutilisés et les plans de code ne coûtent rien ; ne les peignez jamais.
  • Lot : quatre prompts, chacun avec ses références attachées dans l'ordre où son emplacement REFERENCES les nomme. Enregistrez d'abord la dépense : production.py spend 11.0 --item "lot s05-s08 2".
  • Fichiers : art/film/<id>_<slug>.png (s07a_child_reaches.png style : id d'abord, puis un slug). Une repeinture est <id>_<slug>_v2.png ; une correction de code graduée est <id>_<slug>_g.png. Les outils choisissent la version la plus récente par nom.
  • Après chaque lot : forge-frame-qa lit chaque peinture en taille réelle avant que le lot suivant ne soit peint. Un défaut trouvé dans le lot un est corrigé dans les prompts du lot deux avant qu'il ne se répète.

Étape 5. Repeintures

Une repeinture vient de forge-frame-qa avec sa cause et un prompt corrigé. Mettez le prompt corrigé dans prompts/<id>.md, lint, enregistrez la dépense, peignez _v2, et renvoyez-le au QA. Si la cause était dans le registre ou le verrouillage de style (un verrouillage manquant pour tout le monde), corrigez-le là et refaites le lint de chaque prompt.

Cas particuliers

  • Pages d'album : nommez la mise en page (double page 3:2, page 3:4, vignette 1:1 sur fond transparent) et la zone de texte dans chaque prompt. Tous les mots sont définis dans le livre, jamais peints.
  • Images clés vidéo : peignez la première image (et la dernière lorsque le mouvement doit se terminer à un endroit précis) via cette même grammaire ; le prompt de mouvement est une étape séparée, exécutée seulement après que l'image clé passe le QA.
  • Poses clés (poses: 2) : un prompt par pose, identique sauf l'emplacement MOMENT, afin qu'elles s'emboîtent proprement.
  • Plaques : lieux vides, pas de personnages, réutilisées entre les plans ; elles portent le décor pour que les prompts restent courts.

Sortie

  • prompts/<id>.md pour chaque plan peint, tous passant le lint.
  • continuity.yaml avec l'entrée de chaque plan, passant ledger.py check.
  • art/film/ peintures, nommées par id, prêtes pour le QA.

Liste de contrôle avant chaque lot

  • ledger.py check passe
  • ledger.py prompts passe pour ce lot
  • Références attachées dans l'ordre REFERENCES ; les bonnes versions de feuilles
  • Dépense enregistrée ; lot de quatre ou moins
  • Le lot précédent a ses verdicts QA

Table de réparation

Constatation du lint ou du QAQuel emplacement corriger
ne commence pas par le verrouillage de style1 : collez le look, non édité
poignée ou verrouillage d'échelle manquant4 : collez depuis le registre ; ajoutez le rapport à quelque chose dans le cadre
point d'ancrage d'accessoire ou d'état manquant10 : collez depuis le registre
clause de couleur interdite manquante11 : collez le prompt de la règle
utilise un nom4 et ailleurs : remplacez par la poignée
mauvaise taille ou mauvais décompte dans la peinture4 : verrouillage d'échelle et un décompte exact ; puis la barre d'échelle de la feuille
sujet éclairé platement2 : la clause de rééclairage ; 7 : une lumière avec une source
texte ou lettres peints9 et 12 : la zone de texte est pour le code ; "text" dans la queue d'évitement

Références

  • references/batching.md : planification des lots, nommage, versions, et un lot travaillé à partir d'un film réel

Individual skills in this repo

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

gallowforge/forge-director

FilmForge director: runs an AI film production end to end (story, style lock, score, paintings, frame QA, motion in code, sound, delivery, archive) through stage gates, so no credit is spent before its gate passes. Keeps the production state file (production.yaml) and the credit ledger, prices the plan against the credits, and always names the one next action. Use this skill whenever the user wants to make, plan, budget, continue or check on a short film, painted film, animated story, music...

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-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 associés