Community图像github.com

gallowforge/forge-story

FilmForge 故事模块:将前提、歌词、诗歌或神话转化为故事圣经、按时间编排的剧本和适配信用预算的镜头列表,输出为可验证、可定价、可配乐的 YAML。当用户想将创意转化为短片、绘画电影、音乐视频或图画书;需要前提、梗概、故事圣经、节拍表、剧本、故事板或镜头列表;询问信用积分能购买多少镜头或多长时间的电影;或者希望现有故事紧凑有力时,请使用此技能,即使他们从未提及“镜头列表”。

forge-story 是什么?

该技能 FilmForge Story(forge-story)是专为短片制作设计的多步骤 AI 辅助创作流程,涵盖从创意构思到可执行镜头列表的完整转化。它生成三个核心文件:`story-bible.md`(故事圣经,包含前提、论点、六大引擎、世界、角色、色彩剧本等)、`screenplay.md`(剧本,按时间标注场景和镜头)、`shotlist.yaml`(镜头列表,遵循 YAML 架构)。技能使用脚本 `scripts/shotlist.py validate` 和 `scripts/budget.py` 验证镜头列表并检查信用预算是否匹配,确保制作计划财务可行。它特别适用于需要故事板、镜头列表、信用预算计算或节奏把控的短动画、音乐视频或绘画电影项目。工作流程从单句前提和论点开始,经历六大引擎填充、设置与回报表、色彩剧本、分时剧本,最后通过镜头列表进行预算和验证。技能还包含一个修复表,帮助解决故事不落地、像幻灯片、超预算、旁白警告等问题。支持平台包括使用 YAML 和 Python 脚本的任意 CLI 环境,通常运行在 Claude Code、Cursor 或 Codex 等 AI 代理中。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gallowforge/filmforge/tree/HEAD/skills/forge-story

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

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

FilmForge Story

故事先行:在绘画、配乐或购买之前,电影必须存在于纸上,精确到秒,并按信用定价。此技能会编写三个文件:story-bible.md、screenplay.md、shotlist.yaml(模板位于 templates/)。当镜头列表验证通过且其计划适配信用时,阶段门即通过。

路径:scripts/、templates/ 和 config/ 以下均为本技能内的文件夹(加载时显示的基目录),由 ./install.sh 放置。如果从仓库克隆工作,它们位于仓库根目录的 tools/、templates/ 和 config/。

步骤 1. 前提与论点

  • 前提: 一句话,谁想要什么,代价是什么。
  • 论点: 结尾证明的一句话。

如果两者中任何一个写成两句话,故事尚未找到。请在此处继续工作;所有下游内容都继承于此。

步骤 2. 核心:六大引擎

优秀的短动画电影都做同样几件事。填写每一行;一部电影如无法填满任何一行,则缺少某个部分。

引擎检验标准
一个关系电影围绕的两个角色。其他所有人都服务于他们。
一个缺陷,带有代价主角的缺陷在屏幕上为某人带来了真实的代价。
一个令人心碎的选择主角亲手放弃了自己想要的东西。
一个反转观众所相信的并非真实,而真相早已埋下伏笔。
一个镜像一个在早期撒谎、在晚期揭示真相的画面。
同一个构图,出现两次电影开场和结尾使用同一构图,中间的一切改变了它。

工作示例(《灯笼飞蛾》,仓库文本示例,36 秒):一个关系:灯塔女孩与余烬飞蛾,她整个冬天握到的第一个温暖之物。一个带有代价的缺陷:她想留住温暖,而托住飞蛾时,船正漂向礁石。一个选择:她朝熄灭的灯张开手,让飞蛾飞入其中。一个反转:飞蛾并未烧尽;黎明时灯罩上布满了上百只小余烬飞蛾。一个镜像:她在灯镜中的倒影,独自一人被飞蛾照亮,随后消失在光束的光芒中。同一个构图出现两次:夜晚熄灭的灯塔开场,黎明温暖的灯塔结尾。

步骤 3. 设置与回报

一张表格,其中没有任何内容只出现一次。每一行:什么被埋下(镜头)以及它回报什么(镜头)。如果一个画面没有回报,要么剪掉它,要么给它一个回报。来自《灯笼飞蛾》的行:开场帧中熄灭的灯 / 同一帧在黎明,灯变暖;她随身携带的空灯笼 / 飞蛾消失后,它留在地板上;一只飞蛾在她指尖 / 一百只飞蛾在玻璃上;没有一丝暖金色 / 光束闪耀金色。

步骤 4. 色彩剧本

每个场景一行:时间范围、3 到 5 种颜色、情绪。添加承载意义的规则(“灯点亮之前没有暖金色”,“灯点亮前唯一的暖色是飞蛾的橙色”,“黎明前天空没有蓝色”)。规则成为连续性总账中的 forbid 条目,每幅画作都会测量。

步骤 5. 剧本,按时标注

  • 场景带有时间范围;镜头带有开始时间、时长、构图,以及仅相机能拍摄的内容,使用现在时态。如果某个节拍无法被相机拍摄,则不在电影中。
  • 每个场景下方,写出音乐的功能(乐器、能量、指定的重音、书写的静默)。《灯笼飞蛾》的剧本在“黑暗”下写“低沉的嗡嗡声,每小节一个柔和的敲击。寒冷而孤独。”在“光明”下写“0:24 的重音,然后是温暖的完整和弦”。如果音乐已经存在(一首歌、一段钢琴曲),故事按其章节顺序行进,每个章节下一行情绪标注,镜头或页面随之转动。
  • 文字:只说出画面无法表达的内容(谁在说话、他们为什么离开、谁死了、结局意味着什么)。无对白是一种优势:它对任何地方的任何人都有感染力。旁白要么手写在屏幕上,要么说出;无论哪种方式,之后会在电影时间中计时(forge-sound)。

步骤 6. 按信用调整电影规模

paint_credits = credits x 0.95 - sheets - plates - proofs - score
paintings     = floor(paint_credits / (price x 1.3))        # 1.3 = 重绘缓冲
runtime       = paintings x average hold                     # 绘画保持:4 到 6 秒

工作示例:70 信用(66.5 可花费),两张板和一个摄影片(8.25,加缓冲约 11.8),64 秒配乐(9.28):剩余约 45.4 可用于绘画,因此 12 幅绘画,每幅 2.75 加缓冲:一部 60 秒电影,每个保持 5 秒。《灯笼飞蛾》6 个镜头运行 36 秒;budget.py 计划它为 39.08(超出 66.50 可花费),已有花费之外剩余 27.42:可再容纳 7 幅绘画及重拍。

规模设定规则:

  • 主角帧优先:命名 2 到 4 个必须让人产生感受的镜头。它们先于一切作为试样被绘制。
  • 只在其他方法无效时才使用真实运动(飞行、作为高潮的变形)。在其他地方,使用关键姿势快切(poses: 2)并在后期添加活力。
  • 在故事允许的地方重复使用摄影片或绘画(kind: reuse):两次出现的同一构图引擎是免费的。

步骤 7. 镜头列表

编写 shotlist.yaml(架构:references/shotlist-schema.md)。每个镜头:id、scene、dur、kind、framing、beat、characters、refs(每个角色的设计稿)、cut_on,以及音乐简报命名故事重音时使用 pin。然后:

python3 scripts/shotlist.py validate shotlist.yaml
python3 scripts/budget.py shotlist.yaml --production production.yaml

迭代直到验证显示无错误且预算显示 FITS。需要关注的警告:绘画保持低于 1.5 秒或超过 10 秒、旁白快于每秒 2.4 个单词、角色在画面中但未附加其设计稿。

输出格式

  1. story-bible.md:前提、论点、六大引擎、世界、角色(代号、外貌、愿望、动作)、道具与状态、设置与回报、色彩剧本、制作规则。
  2. screenplay.md:带有时间、音乐笔记的场景,以及带有开始时间、时长、构图、动作、台词的镜头。
  3. shotlist.yaml:验证通过、适配预算。
  4. 一份简短报告:运行时长、镜头数量、已规划与可用信用对比、主角帧、唯一风险。

阶段门检查表

  • 前提和论点各为一句话
  • 六大引擎全部填写;每个设置得到回报
  • 色彩剧本及其规则
  • 每个镜头可拍摄;每个节拍跟随其音乐
  • shotlist.py validate:无错误
  • budget.py:显示 FITS,储备金未动用
  • 主角帧已命名

修复表

症状修复方法
结尾不落地选择缺失或由主角选择;或反转未埋下。重新检查引擎 3 和 4
感觉像幻灯片节拍描述状态而非动作,将每个节拍重写为画面中正在变化的东西
超出预算更少、更长的保持;重复使用摄影片;使用关键姿势而非视频;然后删除优先级 3 的镜头
旁白警告减少字数,或让台词跨过下一个剪辑(旁白存在于电影时间中)
角色看起来不像同一批人非故事问题:forge-style-lock(设计稿、锚点、比例锁定)

参考文档

  • references/story-engine.md:六大引擎详细说明,附《灯笼飞蛾》分解
  • references/shotlist-schema.md:每个镜头列表字段、其值及由哪个工具读取

Individual skills in this repo

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

gallowforge/forge-deliver

FilmForge deliver: encodes and checks every deliverable of a finished film or book (4K master, 1080p for posting, phone copy, cover stills, print-book PDF, making-of, localised editions) with exact ffmpeg settings, verifies streams, loudness and picture-to-music sync on the finished files, then builds the production archive with a SHA-256 completeness proof that anyone can re-verify later, and proves backup copies byte for byte. Use this skill whenever the user wants to export, encode or render final versions, post a film, make a phone copy or covers, produce a print PDF or a translated edition, back up or archive a production, or prove that an archive or copy is complete.

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-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,...

相关技能