適用於 AI 影片的動態圖像
請與 remotion-best-practices 和 cinematic-camera 技能搭配使用。此技能負責需求輸入、研究、真實素材、參考素材選擇、視覺品質與交付授權。
嚴格執行合約
每次建置都必須通過 scripts/promptible-gate.mjs。
常見路徑:
- Claude Code:
.claude/skills/motion-graphics/scripts/promptible-gate.mjs - 其他代理:
.agents/skills/motion-graphics/scripts/promptible-gate.mjs
在腳本印出 BUILD AUTHORIZED 之前,不得撰寫任何組合程式碼。在腳本印出 DELIVERY AUTHORIZED 之前,不得交付任何算圖。失敗的命令即為強制終止。
第一階段 — 精簡需求輸入
僅詢問缺少的選擇:
- 格式:4:3 Instagram 半螢幕插入 (1440×1080) 或 9:16 Instagram 全螢幕 (1080×1920)。除非明確要求,否則使用 16:9。
- 表面:暖光、潔淨暗色、淺色網格 或 深色網格。
- 確切的腳本節拍、持續時間、產品名稱、經核實的主張及提供的素材。
切勿在未經指示時預設為暗色。如果使用者將表面選擇權委派給你,請使用暖光。
第二階段 — 研究與真實素材
閱讀 references/research-and-assets.md 與 references/logo-library.md。
在開始概念工作前,執行最小範圍但有實效的研究:
- 使用者提供的素材具有權威性。請完全依照使用,切勿重新繪製或替換。
- 對於常見產品,從
assets/logos/中複製合適的已捆綁商標到專案中,並保留其來源資訊。 - 如果缺少素材,檢查 1–3 個權威頁面:官方品牌套件/首頁、官方文件/產品頁面,然後才是信譽良好的精選圖示來源。
- 偏好使用透明 SVG。切勿使用商標的螢幕截圖、搜尋結果縮圖、內含棋盤格或灰色背景的圖片、非官方重製版或熱連結的遠端素材。
- 對於儀表板/產品 UI,請取得真實的螢幕截圖/錄影或官方的公開產品/文件截圖。如果不存在,請詢問;切勿憑空發明一個儀表板。
- 研究可見的結構、術語、品牌顏色以及與該節拍相關的確切動作/狀態。請勿複製未經支援的指標、私人資訊或主張。
- 將素材和筆記快取於
.promptible/research/目錄下。當產品、來源、素材雜湊值和參考機制不變時,重複使用快取。
僅選擇該節拍所需的視覺模式:logo-system、product-ui、terminal、editorial 或 abstract。切勿強行將時事通訊、儀表板、終端機或複雜的運鏡塞入每個圖形中。
撰寫 .promptible/research-brief.md,包含以下標題:
## 產品或概念
## 權威來源
## 真實視覺語言
## 最接近的已核准機制
## 動畫計畫
## 應避免事項
然後執行:
node <skill-dir>/scripts/promptible-gate.mjs research \
--project . \
--research-mode authentic \
--visual-mode product-ui \
--product "Slack" \
--reference kickbacks-same-run-editor \
--brief .promptible/research-brief.md \
--source https://slack.com/ \
--logo public/research/slack.svg \
--surface public/research/slack-dashboard.png
對於無具體名稱的概念性工作,請使用 --research-mode abstract --visual-mode abstract;研究簡報與已核准參考素材的比對仍然適用,但無需進行不必要的網路或商標研究。
第三階段 — 已驗證的參考素材預檢
閱讀 references/approved-references.md。根據故事機制而非顏色來選擇。當新概念能更具體地滿足需求時,可以採用,但它必須明確繼承最接近的已核准機制的運鏡語法、縮放比例、克制性與因果動畫。最多結合兩種機制。
執行:
node <skill-dir>/scripts/promptible-gate.mjs init \
--project . \
--research .promptible/research-manifest.json \
--format 9:16 \
--background warm-light \
--claim-source user \
--beat "正在支援的視覺想法" \
--duration 6
init 會重新驗證研究/素材,透過 SHA-256 檢查已捆綁的核准 MP4/連絡表單,並寫入 .promptible/render-brief.json。
檢查實際的已捆綁 MP4/連絡表單以及已研究的產品證據。撰寫 .promptible/reference-observations.md,包含:
## 構圖
## 運鏡
## 識別
## 研究比對
## 反模式
然後執行:
node <skill-dir>/scripts/promptible-gate.mjs inspect \
--project . \
--observations .promptible/reference-observations.md
只有 BUILD AUTHORIZED 允許開始實作。
第四階段 — 建置
使用研究所得的識別資訊以及所選參考素材的因果機制。第一次嘗試的結果就應該感覺具體,而不是一個等待修正提示的範本。
嚴格規則:
- 零霓虹、發光、光暈、發光邊緣、彩色陰影、漸層球體/洗白效果、青紫漸層、玻璃擬態、賽博龐克燈光,或任何「氛圍編碼」的 AI 風格。
- 無通用收據、發票、檔案夾、剪貼板、浮動卡片、條碼、橡皮圖章、證書、定價卡、假儀表板或脫離主題的卡片網格備用方案。
- 只有在有提供或權威的產品證據支持下,才鼓勵使用真實的儀表板。忠實地重現可見的結構;切勿發明指標、主張、控制項或產品狀態。
- 無發明 UI、商標、價格、排名、互動數據、序號或證明。
- 無多餘的旁白文字。真實數據、產品 UI、命令、程式碼、檔案名稱和簡短的結構標籤是允許的。
- 動畫必須揭示因果關係、縮放、替換、導航或狀態變化。當商標切換或真實的 UI 動作能清楚傳達節拍時,動畫可以保持克制。
- 一個靜止的置中物件加上逐漸出現的列和緩慢的縮放,並非電影級執行。
- 使用更少、更大的焦點物件。保持當前動作置中、完全可見,並在目標尺寸下清晰可讀。
- 暗色場景是選擇性的。暗色意味著中性炭灰色搭配扁平強調色,絕非發光面板。
在選擇概念之前,請閱讀 references/rejected-patterns.md。
第五階段 — 候選證據
算圖出候選影片。生成三幀連絡表單和 ffprobe JSON。例如六秒影片:
mkdir -p .promptible
ffmpeg -y -hide_banner -loglevel error -i out/candidate.mp4 \
-vf "fps=3/6,scale=480:-1,tile=3x1:padding=12:margin=12:color=white" \
-frames:v 1 .promptible/candidate-contact-sheet.jpg
ffprobe -v error -select_streams v:0 \
-show_entries stream=width,height:format=duration -of json \
out/candidate.mp4 > .promptible/candidate-probe.json
然後執行:
node <skill-dir>/scripts/promptible-gate.mjs candidate \
--project . \
--render out/candidate.mp4 \
--contact-sheet .promptible/candidate-contact-sheet.jpg \
--probe .promptible/candidate-probe.json
第六階段 — 獨立視覺審查
建置者不能為自己的工作評分。啟動一個全新的、乾淨的審查者/子代理,並提供:
references/visual-critic.md- 研究簡報/清單與真實素材
- 所選的已核准 MP4/連絡表單
- 候選 MP4/連絡表單
.promptible/render-brief.json
審查者檢查實際媒體,並回傳符合 templates/critic-output.example.json 格式的 JSON。如果無法執行獨立審查,請停止;切勿自我核准。
第七階段 — 交付閘門
node <skill-dir>/scripts/promptible-gate.mjs qa \
--project . \
--critic .promptible/critic.json
此閘門會拒絕:嚴重失敗、任何類別低於 8/10、平均低於 8.5、經修改或遺失的研究/證據,或非獨立的審查。反覆修改直到輸出 DELIVERY AUTHORIZED。
技術與交付規則
- 使用
useCurrentFrame()、spring()與interpolate()驅動動畫;不使用 CSS 動畫。 - 當平移有助於呈現時,使用「停頓 → 移動 → 停頓」的模式。動作在停頓時完成。
- 以穩定的編輯器停頓畫面作為結尾。
- 進行類型檢查或執行最小範圍但有實質意義的建置驗證。
- 僅在授權後,交付具有確切尺寸、持續時間、算圖指令與編輯器放置說明的 MP4 檔案。