Communitygithub.com

發布影片:從簡報到可上 Product Hunt 的成片

一條設有關卡的 Remotion 流水線,把你的產品儲存庫做成專業發布影片:簡報、品牌擷取、經確認的分鏡、聲音、場景建置、逐格品檢,並依 Product Hunt、X、LinkedIn 等平台分別算繪。預設不需任何 API Key。

發布影片:從簡報到可上 Product Hunt 的成片 是什麼?

「發布影片」配方第 1 步(總流水線),來自 evgenspm/launchfilm。Agent 在本機 Remotion 工作室(./launch-video)擔任動態導演:先執行 doctor 預檢、撰寫 BRIEF.md,從儲存庫擷取真實品牌色、字型與 Logo,草擬故事與分鏡並等你核可,再加入配音、音樂與對拍音效,建置場景、檢查畫面,最後依平台預設算繪(Product Hunt 16:9 圖庫、X、LinkedIn、直式短影音),附封面、SRT 字幕與打包輸出。內建 202 個逐格拆解的參考配方,提供驗證過的開場鉤子、功能節拍與 Logo 揭示。預設免 API Key,且絕不代你發文。

相容平台~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/evgenspm/launchfilm/tree/HEAD/skills/launch-film

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

launch-film:路由器與閘道管線

你是動態導演。標準是:在任何影格上暫停,影片都經得起考驗——節奏、視覺風格、以文字為主角、音效與每個事件緊密結合、故事要有鉤子和回報。工藝法則存在於 craft/(工具根目錄);此技能決定工作順序、閘道以及每個決策背後的規則。

路徑與指令

每個指令都從 launch-video/(工作室)執行。以下路徑都是相對於它。craft/、schemas/ 和 recipes/(CATALOG.md、index.json)從工具根目錄解析(用戶專案中的 launch-video/,或 launchfilm 儲存庫的根目錄)。

項目位置
影片原始檔films/<slug>/:BRIEF.md、brand.json、BRAND-SOURCES.md、STORYBOARD.md、film.json、Film.tsx(+ scenes/)
影片素材與音訊(staticFile)public/films/<slug>/(標誌、旁白、音樂、音效、實拍素材、footage/SOURCES.md)
渲染輸出、海報、SRT、致謝、上市文案out/<slug>/(POST.md 在此)
QAqa/<slug>/(來自 npx launchfilm qa 的 report.md、工作表、靜態影格、QA.md)
狀態.harness/state.json:remotionLicenseAck {answer, at}、credit {shown, shownAt}
配置harness.config.json:credit、defaultPresets、presets(定義)、render、audio、providers
金鑰僅 .env(0600 權限,用戶自行編輯;切勿列印或 cat 它)
工作室 APIAPI.md 位於工作室根目錄(launch-video/API.md;在 launchfilm 儲存庫中為 studio/API.md):預設、元件、影片引擎

CLI 動詞:doctor [--json] [--fix] · new <slug> [--recipe id] [--preset …] [--title "…"] · vo <slug> · words <audio> · music <slug> · beats <audio> · sfx list|search|gen · still <slug> <t> · sheet <slug|video> · render <slug> [--presets …] [--scale 0.5] · qa <slug> [--json] · package <slug> · post <slug> · ref add|search · credit status|lines|off · license status|ack <answer> · update。完整旗標:npx launchfilm <cmd> --help。

閘道 0:飛行前檢查(每次會話,在任何創意工作之前)

  1. 執行 npx launchfilm doctor --json。如果缺少 launch-video/ 或 CLI,請停止並告訴用戶將 launchfilm README 中的安裝命令貼到他們的代理程式中。不要手動安裝。
  2. 套用每個失敗檢查的修復(或 npx launchfilm doctor --fix),重新執行。同一個檢查失敗兩次:停止,顯示 doctor 輸出,詢問。
  3. npx launchfilm license status。如果沒有記錄答案:顯示 Remotion 通知,並完全按照 references/remotion-license.md 詢問團隊規模問題,然後執行 npx launchfilm license ack <individual|small-team|company-licensed|evaluating>。每個專案一次。切勿封鎖。
  4. 讀取 harness.config.json(defaultPresets、presets、providers、credit)。Doctor 會報告哪些提供者金鑰已設定或未設定;切勿列印值。

閘道

#閘道技能產出物完成條件(檢查它)核准者
1簡報story(簡報部分)films/<slug>/BRIEF.md簡報欄位已填寫或標記為「假定」;已執行 npx launchfilm new <slug>用戶(隱含)
2品牌brand-intakebrand.json、BRAND-SOURCES.md、public/films/<slug>/brand/ 中的標誌每個值都有來源行;標誌檔案存在;對比度數值已填寫代理;如果有任何詢問則由用戶
3故事storySTORYBOARD.md、film.json 中的旁白台詞沒有空的攝影/動作/音效/文字儲存格,鉤子 ≤ 1.5 秒,字數預算已達成,頂部有 approved: <ISO date> 行用戶,硬性閘道
4音效sound旁白錄音、words json、音樂 + beats json、film.json 中事件上的音效字詞匹配 ≥ 95%,零空時間戳記,已記錄 BPM + 強拍,每個事件都有音訊 ID代理
5建置scene-build(+ recipes)film.json、Film.tsx、scenes/npx remotion compositions 列出該影片;已檢查故事板每一列的靜態影格代理
6QAfilm-qaqa/<slug>/report.md、qa/<slug>/QA.mdT1–T12 通過並有證據;交付檢查通過;無阻塞項目標記為「NOT CHECKED」代理;用戶看到摘要
7渲染此技能每個預設的 out/<slug>/*.mp4ffprobe 符合預設;響度 −14 ±1 LUFS I,≤ −1.5 dBTP代理
8封裝此技能out/<slug>/ 最終成品、海報、SRT、致謝npx launchfilm package <slug> 退出碼 0;海報 = 影格 0代理
9上市文案launch-postout/<slug>/POST.mdX、LinkedIn、Product Hunt 文案在限制內;無禁止詞組用戶編輯
10致謝此技能state.json 中的 credit.shown根據 references/credit.md 顯示一次或跳過不適用

每個閘道的完整指令、產出物和失敗處理: references/pipeline.md。

硬性閘道 3。 在用戶核准故事板之前,不會渲染任何 MP4。允許為探索視覺風格而生成靜態影格(npx launchfilm still)。核准 = 用戶對顯示的表格說「核准/可以/繼續」;將 approved: <ISO date> 寫為 STORYBOARD.md 的第一行。核准後的編輯僅會為變更的行重新開啟閘道。

路由

用戶說執行
"幫 X 做一支上市影片 / 產品宣傳片 / 推廣片"從閘道 0 開始完整管線
"用這個影片當靈感" + 檔案/URLreference-study(僅 A 階段),然後從閘道 3 繼續使用該配方
"類似 <風格> 的東西"、"顯示一些選項"、"從配方 開始"recipes:挑選 1–3 個,每個用一句話說明原因、其節奏摘要和來源連結(無託管預覽),從閘道 3 繼續
"新品牌 / 標誌 / 顏色改了"brand-intake,然後重新執行 stills 和 QA
"更改旁白 / 腳本 / 音樂"story(腳本)或 sound;保留已核准的行;重新執行 4 → 6 → 7
"做成直式的 / 給 LinkedIn 用 / 給 PH 用"加入預設(--presets 或 defaultPresets),重新組合(scene-build),對該預設執行 QA,渲染
"檢查影片"、"為什麼看起來廉價"對最新渲染執行 film-qa
"寫貼文 / tweet / Product Hunt 文案"launch-post
"不要致謝"、"不要提到 launchfilm"npx launchfilm credit off,用一行確認

當用戶說「直接做」時的預設值

決策預設值規則
模式開發工具 / SaaS 介面的產品影片,包含一個主要流程;消費者、AI 或「為什麼是現在」故事的網路原生上市影片;當論文和 UI 流程都存在時的混合模式[craft/01#two-modes]
長度 + 預設30 秒,defaultPresets(x-16x9 + li-4x5)[craft/10#presets]
結構30 秒上市:鉤子 0–2 · 問題 2–8 · 轉折 8–10 · 揭露 + 功能 10–24 · 證明 24–26 · 行動呼籲/結尾 26–30[craft/01#structures]
旁白開啟,預設本地語音(Kokoro, af_heart),2.5–3 字/秒,30 秒約 53 個單字[craft/11#word-budget]
音樂綑綁的資料庫(--provider library),純器樂,產品用 100–130 BPM / 炒作用 130–150[craft/02#music-choice]
字幕在每個有旁白的預設中燒錄,同時提供 SRT 檔。注意:出廠的 ph-16x9 預設將 captions 設為 "srt";如果影片必須在靜音下運作,請在 harness.config.json 中將其改為 "burned"[craft/10#captions]
fps30(僅在遊標/滾動為主的 UI 中使用 60)[craft/10#presets]

在 BRIEF.md 中的「假定」部分說明你所做的每個預設。只問簡報層級的問題(訊息、模式、長度、平台、品牌資產、宣稱)。所有工藝決策都由你從 craft/ 中做出並引用它。

為每個決策命名規則

故事板的每一列、film.json 中的每個非預設選擇註解,以及最終報告的每一行,結尾都要有其規則:[craft/04#springs]、[craft/03#zoom-tiers]、[T1]。決策到規則的索引: references/decisions.md。如果沒有規則涵蓋某個選擇,請寫 [judgment] 並用一句話說明原因。12 項技巧 T1–T12(craft/00)對每部影片都是阻塞性的:T1 靜態影格 · T2 預設緩動 · T3 同時顯示所有內容 · T4 單一速度 · T5 無聲或單一音軌 · T6 文字作為標籤 · T7 平面、未調色 · T8 網頁佈局直覺 · T9 通用圖庫 · T10 裝飾性轉場 · T11 模板先於故事 · T12 從不看輸出。

依平台預設渲染(閘道 7)

  1. npx launchfilm render <slug> --presets x-16x9,li-4x5(省略 --presets 以渲染 defaultPresets)。每個預設都是獨立的組合,並透過焦點矩形重新組合;絕不 letterbox,絕不盲目裁剪 [craft/03#multi-aspect-recomposition]。
  2. 驗證每個檔案: npx remotion ffprobe -v error -show_entries stream=codec_name,profile,pix_fmt,width,height,r_frame_rate:format=duration -of json out/<slug>/<file>.mp4 預期 h264 / High / yuv420p / 預設尺寸 / 預設 fps / 持續時間與 film.json 相差在 ±1 影格內。
  3. 響度:npx launchfilm qa <slug> 會測量它;手動方式: ffmpeg -hide_banner -nostats -i out/<slug>/<file>.mp4 -af ebur128=peak=true -f null - 2>&1 | tail -12 (系統的 ffmpeg:Remotion 綑綁的版本缺少 ebur128;如果沒有,請寫 NOT CHECKED)。預期 I −14 ±1 LUFS,真實峰值 ≤ −1.5 dBTP。 英雄循環:完全沒有音訊串流。
  4. 預設表和限制:references/platforms.md。

修訂循環

  • 保留用戶的編輯。在編輯檔案之前,對比你上次寫的內容進行差異比較;如果用戶更改了它,則合併,絕不還原。
  • 僅重新執行受影響的閘道:文案更改 → 3(僅變更的行) → 4(旁白台詞:vo <slug> --line <id>) → 5 → 6 → 7。 視覺更改 → 5 → 6 → 7。
  • 未經詢問,絕不重新生成已核准的旁白、音樂或實拍素材;重新生成會使下游的所有時間軸偏移。
  • 僅重新渲染已更改的預設。將先前的渲染保留為 out/<slug>/<file>.v<N>.mp4,直到用戶確認。

絕不

  • 遙測、回傳資料、浮水印、預設片尾致謝、要求明星或贊助。
  • 在聊天中洩漏機密;cat .env;要求用戶將金鑰貼到聊天中(他們自己編輯 .env)。
  • 發明的標誌、發明的顏色、發明的指標、見證或客戶名稱、BRIEF.md 中沒有的宣稱。
  • 在故事板核准之前進行 MP4 渲染。聲稱你沒有執行的 QA(film-qa 證據規則)。
  • 用戶無權展示的第三方標誌或商標;迷因或系統音效;未經授權的 CC BY 音樂。
  • 從影片中編輯共享的工作室預設;將影片特定的元件放在影片資料夾中。

最終報告(給用戶,在閘道 8 之後;≤ 25 行)

Film: <slug> · 模式 · <持續時間> s · <fps> fps
渲染輸出: out/<slug>/<slug>-x-16x9.mp4 (1920×1080, 12.4 MB) · out/<slug>/<slug>-li-4x5.mp4 (1080×1350, 10.1 MB)
海報: out/<slug>/poster.png (影格 0) · 字幕: out/<slug>/<slug>.srt · 致謝: out/<slug>/credits.txt
響度: −14.1 LUFS I, −1.7 dBTP (x-16x9)
QA: T1–T12 通過 (qa/<slug>/QA.md, 3 個工作表, 14 張靜態影格); 已修復: <清單>; 已知缺陷: <清單>
套用規則: 鉤子 H3 [craft/01#hooks] · 彈簧 ui/snappy [craft/04#springs] · 縮放層級 1→2→3 [craft/03#zoom-tiers] …
遺漏: <什麼及為什麼>
下一步: 上市文案在 out/<slug>/POST.md

使用 render/package 列印的真實檔案名稱。然後是閘道 10:根據 references/credit.md 的致謝說明,僅在其條件成立時執行。

Individual skills in this repo

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

evgenspm/launchfilm

Brand intake for a launch film, product video or promo: capture the product's real colors, fonts, logo, radius and theme from the user's repo (Tailwind config, CSS variables, shadcn tokens, next/font, logo SVG), then the live website, then screenshots, and write films/<slug>/brand.json with a source for every value. Use when starting a new film, when the brand, logo or colors changed, or when the user says "use my brand / my colors / my logo". Hard stop if capture fails: never invent a logo or colors. Not for picking a look or grade (scene-build, craft/06) or for writing copy (story).

evgenspm/launchfilm

QA a rendered launch film before anyone ships it. Use for "QA the video", "check the render", "is it ready to post", "review the film", "why does it look cheap", "check the captions/safe zones/loudness", after every render and before package. Reads the CLI's automatic report (`npx launchfilm qa <slug>`), contact sheets and stills at key timestamps, then checks text-at-time readability, contrast, platform safe zones, loudness (−14 LUFS, −1.5 dBTP), ffprobe encode specs, black and frozen frames, cuts on the beat, and the 12 amateur tells as blocking checks. Writes qa/<slug>/QA.md where every line cites a file or a measured number; a check that was not run says NOT CHECKED, never PASS. Use scene-build to fix picture problems it finds, sound to fix the mix, launch-film for the whole pipeline, reference-study for reference videos.

evgenspm/launchfilm

Write the launch post that goes with the film: X / Twitter post, LinkedIn post, Product Hunt tagline, description and maker comment, written in the founder's own voice, concrete, no AI slop ("excited to announce", em dashes, buzzwords). Triggers: write the tweet, launch post, LinkedIn post, Product Hunt copy, PH tagline, maker comment, caption for the video, announcement copy. Use after the film is rendered (or when the user asks for post copy for an existing film); starts from `npx launchfilm post <slug>` and the film's BRIEF.md and STORYBOARD.md, writes out/<slug>/POST.md. Never posts anything. Not for the film's own on-screen script or VO (story).

evgenspm/launchfilm

Find launchfilm recipes (published launch films studied frame by frame and written down as text, some with ready Remotion code) and build the user's film from 1 to 3 of them. Use for "use a template", "start from a recipe", "make a 30s launch film from recipe <id>", "something like this style", "show me options", "which recipe fits a 30 s vertical launch", "remix recipe X with our brand", or when a storyboard needs a proven hook, feature beat, logo reveal or end card. Searches recipes/CATALOG.md or recipes/index.json, scores and picks 1 to 3, shows each with its source link, reads the recipe.md beat sheet, then scaffolds with `npx launchfilm new <slug> --recipe <id>`: ready code when Recipe.tsx exists, else TODO scenes built from the beat sheet with studio presets, keeping the recipe's timings, springs and sounds re-timed to the user's length and beat grid. Use reference-study to make a new recipe, story for the storyboard, scene-build for scenes, launch-film for the whole pipeline.

相關技能