Community이미지github.com

gallowforge/forge-deliver

FilmForge Deliver: 완성된 영화나 북의 모든 딜리버러블(4K 마스터, 게시용 1080p, 폰 사본, 커버 이미지, 인쇄용 PDF, 메이킹 필름, 지역화 에디션)을 정확한 ffmpeg 설정으로 인코딩하고 검증하며, SHA-256 완전성 증명과 함께 프로덕션 아카이브를 구축하고 백업 사본을 바이트 단위로 증명합니다. 사용자가 최종 버전을 내보내거나 인코딩하거나 렌더링하려 할 때, 영화를 게시하거나 폰 사본이나 커버를 만들거나 인쇄 PDF나 번역판을 제작하거나 프로덕션을 백업하거나 아카이브하거나 아카이브나 사본이 완전함을 증명하려 할 때 이 스킬을 사용하세요.

forge-deliver란 무엇인가요?

FilmForge Deliver는 완성된 영화 또는 북 프로젝트의 최종 딜리버러블을 제작하고 검증하며 아카이브하는 전문 AI 에이전트 스킬입니다. 이 스킬은 딜리버러블 매트릭스에서 각 버전(4K 마스터, 1080p 게시용, 폰 사본, 커버 스틸, 인쇄용 PDF, 메이킹, 지역화 에디션)을 정확한 ffmpeg 명령어로 인코딩하고, 스트림, 음량(loudness), 화면-음악 동기(sync)를 측정합니다. 그런 다음 `archive.py`를 사용해 모든 프로덕션 파일을 단일 폴더에 아카이브하고 SHA-256 매니페스트를 생성하여 완전성을 증명합니다. 백업 또는 이동된 사본의 바이트 단위 비교도 지원합니다. 이 스킬은 Cursor, Claude Code 등 터미널 기반 AI 에이전트와 함께 사용하도록 설계되었으며, `scripts/`, `templates/`, `config/` 폴더 구조를 통해 명확한 작업 흐름을 제공합니다. 사용자가 최종 내보내기, 인코딩, 게시, 백업, 아카이브 완전성 증명을 요청할 때 이 스킬을 활성화하면 됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gallowforge/filmforge/tree/HEAD/skills/forge-deliver

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

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

FilmForge Deliver

영화는 모든 버전이 의도된 곳에서 재생되고, 측정값이 올바르며, 전체 프로덕션이 하나의 폴더에 누락된 항목 없이 존재할 때 완성됩니다. 이 스킬은 딜리버러블 매트릭스에서 결과물을 만들고 각각을 검증한 후 archive.py로 프로덕션을 마무리합니다.

경로: 아래 scripts/, templates/ 및 config/는 이 스킬 내부의 폴더입니다(로드될 때 표시되는 기본 디렉토리). ./install.sh에 의해 배치됩니다. 리포지토리 클론에서 작업하는 경우, 루트에 있는 tools/, templates/ 및 config/입니다.

1단계. 딜리버러블 매트릭스 (templates/delivery-checklist.md)

프로덕션에 복사하고 영화에 없는 항목은 삭제하세요. 모든 영화 딜리버러블은 하나의 마스터에서 비롯되며, 편집기 또는 합성기에서 프리뷰와 동일한 샷 목록, 그림 및 믹스로 3840x2160으로 내보낸 후 ffmpeg로 인코딩합니다:

딜리버러블제작 근거설정
4K 마스터편집기의 4K 내보내기3840x2160, 샷 목록의 fps로; VAAPI를 통한 HEVC 메인 (hevc_vaapi) 상수 QP 18, BT.709 태그, 그런 다음 -c copy -tag:v hvc1로 리먹싱하여 Apple 플레이어가 수용하도록 함; VAAPI가 없으면 H.264 (libx264, 프리셋 medium, CRF 18, yuv420p); AAC 320k; +faststart
게시용 1080p마스터Lanczos로 1920x1080, libx264 프리셋 slow, CRF 16, High 프로파일, yuv420p; 믹스는 2패스 linear loudnorm으로 -14 LUFS 및 -1.5 dBTP로 정규화; AAC 320k; +faststart
폰 사본게시용 사본Lanczos로 1280x720, 약간의 노이즈 제거(hqdn3d=1.2:1.2:3:3), libx264 900k (maxrate 1400k, buffer 2800k), AAC 128k; 채팅으로 보내기에 충분히 작게
커버마스터4K에서 가장 강력한 프레임 3~4장, PNG, 게시용 JPG; 폰 화면에서 읽을 수 있어야 함

정확한 ffmpeg 명령어: references/deliverables.md. 하나의 스크립트에 넣어 어떤 변경이든 모든 딜리버러블을 다시 빌드하도록 하세요.

영화에 포함된 북과 엑스트라: 음악과 함께하는 4K 및 1080p 비디오 형태의 그림책, 인쇄용 PDF, 음악과 함께 페이지를 넘기는 인터랙티브 웹 북, 지역화 에디션(각 언어별 자체 4K, 1080p 및 폰 비디오, 모든 대사는 읽을 수 있는 사람이 재설정 및 확인해야 하며, 기계 설정 후 검토되지 않은 상태로 절대 두지 않음), 메이킹 필름(PDF + 폰 PDF). 자세한 내용: references/deliverables.md.

2단계. 모든 딜리버러블 확인

타임라인이 아닌 파일 자체를 측정하세요:

  • 스트림: 코덱, 크기, 픽셀 포맷, 프레임 레이트, 코덱 태그(HEVC 마스터의 경우 hvc1), 오디오 레이트 및 채널, 길이, 크기 및 비트레이트 (ffprobe).
  • 음량: 통합(integrated), 범위(range) 및 트루 피크(true peak) (EBU R128, ffmpeg의 ebur128 필터). 마스터는 믹스된 대로 믹스를 전달합니다; 게시용 및 폰 사본은 약 -14 LUFS여야 합니다.
  • 스토리 히트에서의 동기: 각 히트에 대해 0.5초 이내의 가장 큰 그림 변화와 가장 강한 사운드 온셋, 그리고 이들 사이의 밀리초 간격. 그림 변화는 ffmpeg의 장면 점수(scene score)에서, 온셋은 영화 자체 오디오에서 실행된 beatmap.py에서 비롯됩니다. 목표: 히트에 컷이 있는 경우 한 프레임(24fps에서 42ms) 이하. 컷이 없는 히트는 간격을 보고합니다. 샷 목록과 대조하여 읽으세요.
  • 끝: 첫 번째 및 마지막 프레임(의도적으로 검은색 또는 타이틀).
  • 완성된 영화의 콘택트 시트, 2초마다 한 프레임, 처음부터 끝까지 살펴봄.
  • 사인오프 전에 대상 화면에서 소리와 함께 한 번 처음부터 끝까지 시청.

각각의 명령어: references/deliverables.md (Checks).

PDF의 경우: 두 개의 리더에서 열고 모든 스프레드를 확인하고, 글꼴이 포함되었는지, 이미지가 인쇄 해상도인지 확인하세요.

3단계. 아카이브와 증명

영화를 만든 모든 것이 하나의 프로덕션 폴더에 들어갑니다: production.yaml, 스토리 파일, 프롬프트, 모든 그림과 버전, 시트, 악보와 측정값, 코드, 믹스, 딜리버러블, 교훈.

python3 scripts/archive.py build <film> --require deliverables.txt \
        --require-shotlist <film>/shotlist.yaml --paintings <film>/art/film \
        --exclude "code/.venv/=rebuilt from requirements.txt"
python3 scripts/archive.py verify <film>

build는 모든 파일을 <film>/MANIFEST.sha256으로 해시(일반 sha256sum -c 형식이므로 증명이 도구보다 오래 지속됨)하고 manifest.json을 작성합니다: 파일 수, 바이트, 유형별 파일, 의도적으로 제외된 항목과 그 이유(캐시, 가상 환경, 4k/ 업스케일 폴더 등), 필수 딜리버러블 및 누락된 항목, 그림이 없는 샷, 매니페스트 자체의 다이제스트. 모든 필수 패턴이 일치하고 모든 그림 샷에 그림이 있을 때만 COMPLETE를 보고합니다. verify는 나중에 모든 것을 다시 해시하고 누락되거나 변경된 파일이 있으면 실패합니다(매니페스트가 편집된 경우도 포함).

동일한 도구가 더 작은 패키지도 증명합니다. Lantern Moth의 archive-required.txt는 그림에 크레딧을 사용하기 전에 사전 프로덕션 패키지에 있어야 할 항목을 나열하며, --require archive-required.txt와 함께 예제 폴더에서 archive.py build를 실행하면 10개의 패턴이 모두 존재하고 COMPLETE를 보고합니다.

사본: 백업 또는 이동을 바이트 단위로 증명: python3 scripts/archive.py compare <film> <copy>. 소스와 사본의 모든 파일에 대한 SHA-256 목록과 복사 로그를 수동으로 수행하는 작업을 하나의 명령어로 처리합니다.

아카이브에 간단한 README를 작성하세요: 각 폴더가 무엇을 담고 있는지, 의도적으로 무엇이 제외되었는지, 완성된 작업이 어디에 있는지.

4단계. 마무리

production.py signoff deliver --by <당신> --note "<TV에서 마스터를 시청했습니다; 검사 통과>", 그 다음 advance를 실행하여 회고(forge-director)로 넘어갑니다.

출력

  • film/ 모든 딜리버러블 포함, 이름은 <Title>_4K.mp4, <Title>_1080p.mp4, <Title>_phone.mp4, covers/
  • 보고서의 검사 수치(크기, 음량, 각 히트에서의 동기 오프셋)
  • MANIFEST.sha256, manifest.json, 아카이브 README

게이트 체크리스트

  • 매트릭스의 모든 딜리버러블이 존재하고 검사를 통과함
  • 모든 스토리 히트에서 동기가 한 프레임 이내임
  • 대상 화면에서 소리와 함께 시청 완료
  • archive.py build: COMPLETE; archive.py verify: OK
  • 모든 사본이 archive.py compare로 증명됨
  • 사인오프 완료

수리 표

증상해결책
Apple 기기가 HEVC 마스터를 거부함hvc1 태그 누락: ffmpeg -i in.mp4 -c copy -tag:v hvc1 out.mp4로 리먹싱
HEVC 마스터가 디코딩되지 않음VAAPI 인코딩 중 hvc1이 기록됨: 태그 없이 인코딩한 후 -c copy -tag:v hvc1로 리먹싱
TV가 Wi-Fi에서 끊김비트레이트가 너무 높음(ffprobe로 확인): 더 높은 QP(더 작은 파일)로 마스터를 다시 인코딩
HEVC가 필요했지만 VAAPI 인코더가 없음ffmpeg -h encoder=hevc_vaapi 및 ls /dev/dri로 시스템이 가진 것을 확인; 그렇지 않으면 H.264 마스터로 전달
게시 플랫폼이 거부하거나 클리핑함정규화되지 않음: 마스터가 아닌 2패스 사본(-14 LUFS, -1.5 dBTP, linear)을 게시
폰 사본이 전송하기에 너무 큼게시용 사본에서 더 낮은 -b:v로 다시 인코딩(references/deliverables.md 참조) 또는 단축; 720p 유지
verify가 CHANGED를 보고함전달된 파일이 편집됨: 증명된 사본에서 복원하거나 다시 빌드하고 재서명
build가 INCOMPLETE를 보고함필수 딜리버러블 또는 그림이 누락됨: 생성하거나 이유와 함께 의도적으로 목록에서 제거

참조

  • references/deliverables.md: 전체 ffmpeg 명령어, 검사, 북, 에디션 및 커버

Individual skills in this repo

This repo contains 6 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-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-story

FilmForge story: turns a premise, song, poem or myth into a story bible, a timed screenplay and a shot list sized to a credit budget, written as YAML the tools validate, price and cut to music. Use this skill whenever the user has an idea to turn into a short film, painted film, music video or picture book; wants a premise, logline, story bible, beat sheet, screenplay, storyboard or shot list; asks how many shots or how long a film their credits buy; or wants an existing story tightened so it lands, even if they never say 'shot list'.

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

관련 스킬