Communitygithub.com

shubham001312/fish-video-skill

製作一支高品質、可直接上傳的 Short、Reel、TikTok、YouTube 或 LinkedIn 影片,主題不限。當有人要求製作影片、解說、宣傳、產品或應用程式導覽、螢幕錄製教學、勵志 Short 或「像這樣的影片」(參考連結)時使用。從一次嚴謹的訪談開始(主題、平台、風格、顏色、聲音、音樂、音效、素材、螢幕錄製、API 金鑰),之後不再提問,直到最終審查。它會研究趨勢與事實、剖析參考影片、收集授權的真實素材、以焦點縮放和點擊聲進行螢幕錄製,並使用 3D 相機渲染確定性動態圖形:紙拼貼、動態文字、霓虹圖表、發光隱喻、白板。它會加入自然語音、平衡於手機喇叭和字卡字幕的混音、執行品管與自我審查、打包影片、縮圖、標題、描述、標籤和致謝,並僅在獲得許可後進行清理。

fish-video-skill 是什麼?

Fish Video Skill v2 是一個進階 AI 代理技能,專為使用 Claude Code、Cursor 或 Codex 等工具的使用者設計,可自動化創建 premium 等級的短影片,適用於所有主要平台。它提供一個結構化的 10 步驟工作流程,從一次完整的訪談開始,收集所有必要資訊,然後獨立執行研究、素材收集、螢幕錄製、故事板編寫、渲染和品質檢查。此技能與現有影片製作工具不同之處在於,它要求素材深度和角色對比度,確保每一秒都有新內容,並透過平衡的混音處理手機喇叭播放。它支援大量參考檔案,涵蓋主題構思、風格配方、聲音設計、字幕排版和平台規格。此技能事先確認所有 API 金鑰和擴充套件,但提供無金鑰的備援方案,使其易於使用。其最終目標是製作引人入勝的影片,而非僅是帶有通用語音的幻燈片。

相容平台~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/shubham001312/imutechz-skills/tree/HEAD/skills/fish-video-skill

在你喜歡的 AI 中提問

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

說明文件

Fish Video Skill v2

你從一次對話中製作一支影片。它必須達到在參考分析中剖析的頂尖 Short 的品質:

  • 每 ~1 秒螢幕上出現新內容
  • 具有深度(紋理、接觸陰影、發光)的真實素材
  • 具有 3 倍主詞對比度的文字
  • 物件作為門的轉場
  • 在每次移動 之前 落地的一個嗖聲,在揭露時 結束 的漸強音,以及在閃切時的撞擊聲
  • 位於可聽見的音樂層之上的語音

即使通過品管,帶有通用語音的幻燈片仍是失敗品。

路由器:任務到達時載入指南

只讀取目前步驟所需的內容:

不可協商的工作流程

0 醫生 ─▶ 1 訪談 (所有問題,一次) ─▶ 確認 ─▶ 2 研究 + 趨勢 + 參考 (並行)
  ─▶ 3 素材 + 螢幕捕捉 + 語音 (並行) ─▶ 4 故事板 (你撰寫每個字) ─▶ 閘門
  ─▶ 5 靜態稿 (外觀) ─▶ 6 渲染 ─▶ 7 品管 + 審查循環 (修正,重新渲染,重複) ─▶ 8 打包 ─▶ 9 最終審查 ─▶ 10 清理 (詢問)

規則:

  • 一次訪談,在開始時。 所有需要使用者回答的問題都在步驟 1 中提出,包括語音和語氣、顏色、螢幕步驟、API 金鑰(以及如何取得每一項)以及要安裝的選用擴充套件。在 fishvideo interview <dir> --confirm 之後,你不再提問。根據答案和風格配方做出決定。僅在以下情況再次聯絡使用者:

    • (a) 他們在 checkpoints 中選擇的可選停止點
    • (b) 他們必須執行的桌面錄製;他們在訪談中同意,你告訴他們何時開始
    • (c) 最終審查
    • (d) 清理許可

    如果使用者後來說了不同的話,遵循使用者。

  • 在訪談確認之前,絕不編寫腳本。 fishvideo script,all 和完整 render 在 fishvideo gate 通過之前拒絕執行。

  • 絕不輸出範本文字。 骨架是一個充滿 TODO 的輪廓。你為這支影片全新撰寫每個螢幕上的字和每句旁白,因此閘門會阻止 TODO、v1 慣用語(「X,解釋」、「60 秒內」、「感謝觀看」)以及任何從 examples/ 複製的行。範例展示結構,絕非內容。

  • 解說影片必須有圖表。 任何 goal: explain 影片需要至少一個 diagram、whiteboard、neonline 或 split 揭示機制場景。專案符號清單不是解釋。

步驟 0:醫生

設定(僅首次)在 README.md 中:npm install,一個虛擬環境,以及 pip install -r requirements.txt。然後執行:

.venv/Scripts/python scripts/fishvideo.py doctor --keys      # Windows (macOS/Linux:.venv/bin/python)

注意哪些金鑰和擴充套件缺失。你在訪談第 8 輪中只詢問這些。

為獲得最佳結果進行設定(請執行此操作,不要跳過):

  • 自行安裝擴充套件。 如果 doctor 顯示缺少擴充套件,將其安裝到技能虛擬環境中,而無需讓使用者操作:pip install "rembg[cpu]"(去背),pip install kokoro soundfile(自然本地語音)和 pip install faster-whisper(對齊使用者自己的旁白)。如果 SFX 庫缺失,也執行一次 fishvideo assets sfx-pack。用一句話告訴使用者你在安裝什麼以及原因。僅跳過使用者在第 8 輪中拒絕的擴充套件。
  • 索取 API 金鑰。 它們是選用的:所有功能皆可透過免費備援運作,無需金鑰。它們確實能帶來最佳結果:ElevenLabs 提供最自然的語音,Pexels/Pixabay 提供最多的圖庫照片和影片,Freesound 提供最多的音效,YouTube Data API 提供趨勢圖表。在第 8 輪中,索取對這支影片重要的金鑰,說明如何取得每一項(免費註冊連結在 doctor --keys 中),並接受「不」或「稍後」,不要強求。僅在訪談中進行此操作,創作開始後絕不再提。

步驟 1:訪談(嚴格)

fishvideo new projects/<slug> --prompt "<使用者的請求,逐字"
fishvideo interview projects/<slug>            # JSON:開放問題,分為 8 輪

問題庫在 config/interview.yaml 中。它有 8 輪,約 30 個問題:

輪次涵蓋範圍
1目的
2形狀和風格
3顏色、字體、紋理
4語音、表達、音樂、音效
5真實素材和螢幕錄製
6內容、事實、CTA、語言
7字幕、縮圖、核准
8API 金鑰和擴充套件

只有一個詞或一個領域? 在第 1 輪之前,生成 5 個趨勢角度:yt suggest、yt search --recent-days 30 和 trends(俳句子代理,並行),遵循主題到影片。將它們作為 topic 問題提供。選擇的角度驅動後續一切。

如何提問:

  • 每次 AskUserQuestion 呼叫詢問一輪(最多 4 個問題),完全按照列出的選項進行。建議選項優先。「其他」始終可用。
  • 自由文字問題 (free_text: true) 在該輪的正常訊息中發送,與該輪的選擇題呼叫一起。
  • 僅當提示已明確回答該問題時才跳過一個問題(from_prompt 顯示檢測到的內容),並且仍然記錄它。
  • 記錄每個答案:fishvideo interview <dir> --set style=paper-collage --set platforms='["shorts"]'。答案映射到 brief.yaml:調色板到 brand.colors,心情到分數和節奏,語音和表達到語音配置和後製鏈,風格到紋理、節奏和主題。
  • 語音: 在第 4 和 6 輪之後(一旦知道語言和表達方式),執行 fishvideo voices <dir> --audition。提供使用者在 build/auditions/ 中的檔案路徑,讓他們播放,並讓他們挑選。這仍然是訪談的一部分。
  • 金鑰: 僅提供與他們答案相關的缺失金鑰。說明如何取得每一項(問題庫中的文字)以及沒有它會發生什麼。如果他們貼上金鑰,使用 --set keys_paste=... 記錄。金鑰會去到技能的 gitignored .env 檔案,絕不回顯、記錄或提交。如果他們選擇擴充套件,現在安裝到虛擬環境中(pip install "rembg[cpu]"、kokoro soundfile、faster-whisper)。
  • 最後,將 fishvideo interview <dir> --summary 回讀給使用者。要求一個簡單的「是,開始」,然後執行 --confirm。

步驟 2:研究、趨勢和參考(並行執行)

將這些作為並行子代理生成。模型路由:haiku 用於擷取和查找掃描,sonnet 用於分析和常規程式碼,而你 (opus) 用於腳本、故事板、設計判斷和最終審查。為每個代理提供專案路徑和它必須產生的確切輸出檔案。子代理可能無法編寫報告檔案;然後它們返回文字,你儲存它。

任務命令代理
事實和來源網頁搜尋,然後 fishvideo research <dir> --url ... → research/facts.mdhaiku
趨勢fishvideo trends <dir> --topic "<topic>" --region <IN/US> → research/trends.md(標題公式、標籤、鉤子、從當前排名得出的理想長度)haiku
YouTube 查找fishvideo yt search "<q>" -n 20 [--recent-days 30]、yt info、yt subs、yt suggesthaiku
參考剖析(使用者提供的每個連結,以及所選風格中 1–2 個熱門趨勢範例)fishvideo yt download <url> --purpose reference --project <dir>,然後 fishvideo dissect <dir>/reference/<file>.mp4 --out <dir>/reference/dissect --fps 4 [--vtt subs.vtt]。讀取每個工作表、頻譜圖和 timeline.md,然後撰寫 reference/analysis.md,包含參考影片分析的九個部分sonnet (vision)

從剖析中取得數字:變化率、嗖聲時機和音量、語音相對於背景音樂的分貝、閃避深度、響度、字幕樣式。將它們寫入 brief.yaml → match:,以便故事板和混音可以遵循它們。複製工藝,絕不複製內容。

步驟 3:素材、螢幕和語音(並行執行)

真實素材(當 assets.policy 是 mixed 時):

  • 搜尋:fishvideo assets search <dir> "<noun>" --kind photo|video|music|sfx [--providers wikimedia,pexels]。在 assets/_candidates/ 中開啟預覽並查看它們。
  • 下載你挑選的:fishvideo assets get <dir> <ids>。每個檔案都會連同其授權記錄到 assets/credits.json。
  • 製作去背圖:fishvideo assets cutout in.jpg out.png(使用 isnet-general-use 的 rembg;絕不使用非商業預設模型)。
  • 準備 B-roll:fishvideo assets clip <dir> <file> <clip_id> --start S --dur S 為 footage 場景提供幀。
  • 取得 CC-BY YouTube 片段:fishvideo yt clip <url> <start> <end> <dest> --project <dir>。它會拒絕非 CC 影片。
  • 允許的授權:CC0、PD、Pexels/Pixabay 授權、CC-BY 和 CC-BY-SA(需註明出處)。絕不允許 NC 或 ND。絕不允許非 CC 的 YouTube 影片、參考影片的鏡頭、你重新繪製的標誌,或以誤導方式使用的真人肖像。

螢幕:

  • website:列出 captures: 下的鏡頭,並執行 fishvideo capture <dir>。它會以虛擬時間進行唯讀錄製。
  • desktop:fishvideo screenrec record <dir> <shot> --seconds N [--window "Title"] [--scale 2]。在開始之前,確切告訴使用者要執行哪些步驟。F8 放下標記,F9 停止。
  • files:fishvideo screenrec import <dir> <shot> recording.mp4。

三者產生相同的捕捉資料夾。tour 場景 (frame: inset) 添加發光游標、點擊漣漪和點擊音效、1.6–2 倍游標縮放、聚光燈和 STEP 卡片。以 2 倍比例錄製,以保持縮放清晰。

音樂:

  • 圖庫曲目:assets search <dir> "<brief.music.search>" --kind music,然後 assets get,並將檔案放入 assets/music/。
  • 或者保留合成分數。設定 music.source: synth 來強制使用。

音效: 執行一次 fishvideo assets sfx-pack (Kenney CC0)。使用 assets search --kind sfx (Freesound CC0) 將更多音效添加到 assets/sfx/<cue-type>/。

語音: 編寫旁白(步驟 4),然後執行 fishvideo voice <dir>。重新執行故事板,使場景根據真實剪輯重新計時。如果使用者錄製了自己的旁白,改為執行 fishvideo voiceover <dir> recording.wav:它使用 faster-whisper 將錄音與腳本對齊,並按行切割。

情緒: 為每個場景指定一個 mood: (curious、tense、urgent、excited、warm、serious、reflective、triumphant、neutral)。它設定每行的速度和音高,以及在 ElevenLabs 上的風格。標點符號在所有引擎上塑造表達方式:... 停頓,? 和 ! 揚起,短句重擊。在節奏之間變化情緒:40 秒的單一音調就是「通用語音」的抱怨。行內的靜默部分會自動裁剪 (pacing.max_word_gap)。

音樂時機: 對於圖庫曲目,執行 fishvideo beats <track>。將故事板 bpm 設定為其節奏,並設定 music.offset,使一個節拍或高潮落在你最大的揭露時刻。

螢幕錄製: 執行 fishvideo screenrec tighten <dir> <shot> 來加速通過空閒時間。永遠不要讓觀看者等待載入旋轉圖示。

步驟 4:故事板(你來編寫)

執行 fishvideo script <dir>。它會根據風格配方 (config/styles.yaml, 風格配方) 建立 storyboard.yaml 的骨架,作為一個充滿 TODO 的節奏骨架。其時序是佔位符。然後按順序正確編寫:

  1. 替換每個 TODO:複製、參數和旁白。場景目錄頂部的表格列出了必需的參數。
  2. 撰寫 brief.pu

…

[為翻譯而截斷]

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能