Communitygithub.com

kyinwind/videohero-skill

操作本地 VideoHero 應用程式的 CLI 來探索聲音與模型、從文字生成語音、以及將 PPTX/PDF 簡報轉為旁白影片;同時可監控或取消 VideoHero 任務。當使用者要求代理使用 VideoHero 建立媒體時使用,請勿用於通用媒體工具或 UI 點擊自動化。

videohero-skill 是什麼?

此技能專為操作 VideoHero 應用程式而設計,完全依賴其支援的 `videohero` 命令列介面。它能讓 AI 代理發現可用的聲音和模型、從文字生成語音、將 PPTX/PDF 簡報直接渲染成附旁白的影片,並管理(監控或取消)VideoHero 任務。技能會先解析 CLI 執行檔的絕對路徑(優先使用使用者或測試工具提供的路徑,再來是 `VIDEOHERO_CLI` 環境變數,最後才是 `PATH` 上的 `videohero` 命令),然後透過執行 `videohero version`、`videohero capabilities` 及 `videohero doctor` 來驗證可用功能與相容性。之後,它會從 `videohero voices list` 解析聲音 ID、使用 `--text-file` 提交長時間或敏感文字、並將任務提交回傳的作業 ID 導向 `videohero jobs wait`(若要等待結果)或 `videohero jobs status`(若要稍後查詢)。只有最終狀態為 `succeeded`、`delivery.state` 為 `delivered`、且 CLI 結束碼為 0 時,技能才會確認成功。它不會對 SwiftUI 介面、SwiftData 儲存庫、或專案目錄進行自動化操作,也不會建立或修改任何檔案,因為這些結構完全由 VideoHero 應用程式自行管理。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add kyinwind/videohero-skill

在你喜歡的 AI 中提問

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

說明文件

VideoHero

僅透過 VideoHero 支援的 videohero CLI 來使用它。請勿自動化 SwiftUI 介面、編輯 VideoHero 的 SwiftData 儲存庫、呼叫其私有的輔助執行檔、或在其專案目錄內建構檔案。

從使用者或測試工具提供的絕對路徑解析 CLI 執行檔,然後從絕對路徑 VIDEOHERO_CLI 解析,最後才從 PATH 上的 videohero 命令解析。在整個工作流程中持續使用該確切解析的執行檔。從以下指令開始:

CLI="/absolute/path/supplied/by/the/user/bin/videohero"
"$CLI" version --format json
"$CLI" capabilities --format json

若未提供絕對路徑,則解析 command -v videohero,並使用其傳回的絕對路徑作為 CLI。

如果執行檔遺失、自動化功能已停用、或回報的通訊協定不相容,請停止並向使用者說明必須在 VideoHero 中啟用或安裝的項目。不要替換猜測的命令。預期的第一個穩定通訊協定是版本 1。

工作流程

  1. 讀取當下功能,而不是依賴記住的引擎、聲音、格式或預設值。
  2. 在進行昂貴的生成之前,先執行 videohero doctor --workflow <workflow> --format json。對於具體請求,當安裝的 CLI 支援時,請包含其輸入和輸出參數。
  3. 從 videohero voices list --format json 解析請求的聲音。使用其穩定的 id,而不是本地化的標題。如果使用者的描述符合多個聲音,請呈現有意義的候選選項,而不是靜默選擇。
  4. 使用絕對路徑和 --format json 提交操作,而不加上 --wait,然後解析回傳的作業 ID。對於長篇或敏感文字,優先使用 --text-file。
  5. 對於回傳的作業 ID,當使用者希望在當前輪次等待時,使用 videohero jobs wait <job-id> --format ndjson;否則報告作業 ID,並在稍後使用 jobs status。在簡報作業期間,轉達有意義的階段/進度變更以及 estimate(當存在時)。缺少 estimate 表示 VideoHero 沒有足夠相容的歷史記錄;永遠不要自行發明完成時間。僅在使用者要求取消或當前任務明確授權取消時,才使用 jobs cancel。
  6. 僅當最終狀態為 succeeded、delivery.state 為 delivered、且 CLI 結束碼為 0 時,才將成功視為已確認。回傳收據的實際 destinationPath 和任何警告。

當 capabilities.presentation.persistsProject 為 true 時,簡報渲染會在預設情況下建立並持續儲存一個可編輯的 VideoHero 專案。請勿新增或發明 --save-project 選項。文字轉語音仍屬於暫時性音訊作業,不得建立 VideoHero 專案。在兩種情況下,都不要自行寫入 VideoHero 的 SwiftData 儲存庫或專案目錄;應用程式擁有持久化控制權。

除非使用者已授權,否則請勿下載模型、接受授權條款、啟用代理控制、授權個人聲音、覆蓋現有輸出、或使用實質上不同的設定重試失敗的生成。逾時並不代表提交失敗:請查詢作業,或使用相同的冪等金鑰重試。

路由

將路徑保留為單獨的命令參數。請勿將使用者文字插入 shell 語法中。當請求複雜時,請撰寫一個由 capabilities 支援的帶版本號的請求 JSON,並傳遞其路徑,而不是拼湊出脆弱的命令列。

相關技能