Communitygithub.com

ajewoleOlugbenga/video-skills

從程式碼儲存庫直接製作出 polished 的產品示範影片 (MP4)。掃描儲存庫、擬定簡報、執行應用程式、擷取關鍵功能的螢幕截圖與螢幕錄影,並加上縮放、游標、註標、音樂,以及可選的免費離線 AI 語音旁白與字幕,支援橫向或直向格式。當開發者要求為其網頁應用程式製作示範影片、發布影片、產品導覽、功能展示或宣傳短片時使用。

video-skills 是什麼?

這個技能能將任何網頁應用程式的程式碼儲存庫,自動轉變為精美的產品示範影片 (MP4)。AI 會先掃描儲存庫以了解其架構、功能與品牌,接著草擬一份行銷簡報並向開發者提問,以確認目標受眾、關鍵功能與交付格式。隨後,技能會執行應用程式、進行螢幕截圖與螢幕錄影,並使用 Remotion 引擎渲染出包含縮放、游標動畫與註標的動態影片。可選的 AI 語音旁白(支援正常男性與 Cori 女性兩種聲音)是使用 sherpa-onnx 在本地免費生成,無需任何帳號。此技能支援 Claude Code、Cursor 與其他 AI 代理平台,其工作流程完全隔離:所有檔案都建立在獨立的工作區,絕不修改使用者的儲存庫。它禁止讀取機密資訊、使用真實個人資料或對生產環境執行寫入操作。最終成果是可直接發布的 MP4 檔案,適合用於 YouTube、Product Hunt、社群媒體貼文或網站登陸頁面。

相容平台✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/ajewoleOlugbenga/video-skills/tree/HEAD/plugins/app-demo-video/skills/app-demo-video

在你喜歡的 AI 中提問

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

說明文件

應用程式示範影片

將網頁應用程式儲存庫轉變為完成的示範影片。你 (Claude) 扮演產品行銷人員、螢幕錄影師與動態編輯。開發者只需回答一輪問題並批准故事腳本。

請務必依序執行下列步驟,從掃描與一則提問訊息(步驟 3)開始。切勿直接跳到製作影片,無論你原本會使用什麼工具或方法。

v1 支援網頁應用程式(任何能在瀏覽器中執行的程式)。行動原生應用程式、CLI 與 API 不在範圍內:如果儲存庫是這類應用,請說明並停止。

不可妥協的原則

  1. 絕對不要修改開發者的儲存庫。 所有工作都在單獨的工作區資料夾中進行。不要提交、不要新增檔案到儲存庫、不要變更他們的設定。
  2. 絕對不要讀取或列印機密值。 不要開啟 .env 檔案。環境變數名稱(來自 .env.example)是可以的。如果應用程式需要機密資訊,開發者必須自行將其放入 .env 檔案;絕對不要要求他們將金鑰貼到對話中。
  3. 絕對不要拍攝真實的個人資料。 使用測試帳號與示範資料。使用 hide 選擇器模糊處理電子郵件、API 金鑰、權杖與真實姓名。
  4. 絕對不要對生產資料採取行動。 種子腳本與表單提交僅針對本機或暫存環境執行。在線上 URL 上,除非開發者明確核准特定動作,否則僅進行瀏覽與查看。
  5. 簡報是草稿。 所有關於受眾、問題與優勢的推論都應標註為草稿,供開發者編輯。不要聲稱程式碼無法證明的使用者數量、推薦、速度或安全屬性。

工作流程

步驟 1:設定工作區

cp -r <skill-dir>/template ~/app-demos/<app-slug>      # 每個應用程式執行一次
cd ~/app-demos/<app-slug> && npm install
npx playwright install chromium                          # 每台機器執行一次(或設定 CHROME_PATH)

<skill-dir> 是此 SKILL.md 檔案所在的資料夾(技能的基礎目錄,會於技能載入時顯示)。它可能位於外掛快取或 ~/.claude/skills/ 中;切勿編輯其中的檔案,務必先將範本複製出來。

以下所有操作都在此工作區中執行。儲存庫路徑為 <repo>:即目前的專案資料夾,或開發者連接的資料夾。

步驟 2:掃描儲存庫(唯讀)

node scripts/scan-repo.mjs <repo> --json scan.json

這會輸出框架、安裝與執行指令、連接埠、路由/頁面、環境變數名稱、驗證與資料庫函式庫、種子腳本、標誌檔案與最常使用的品牌色彩。然後讀取 README 以及看起來像是核心功能(儀表板、編輯器、建立/新增流程、重要的設定)的路由的主要頁面/元件檔案。目標是了解使用者在應用程式中實際做了什麼。

步驟 3:向開發者發送一則訊息:草擬簡報 + 問題

將所有內容放在單一則訊息中,以便開發者一次回答。如果工具可用,請對多選題項目使用 AskUserQuestion 工具。

A. 草擬簡報(清楚說明這是根據程式碼草擬的;請他們修正):

  • 一句話:用 ≤ 12 個字說明它是什麼
  • 目標受眾
  • 它解決的問題
  • 3 個讓它脫穎而出的特點(來自你發現的實際功能)

B. 提議的功能: 列出你找到的 5–7 個功能,每個功能標註其所在的路由。請他們挑選 3–5 個,並指出任何你遺漏的功能。

C. 問題:

  1. 影片將發布在哪裡?→ 決定格式。YouTube / 網站 / LinkedIn / Product Hunt → 16:9 橫向。Reels / TikTok / Shorts / X → 9:16 直向。動態消息貼文 → 1:1 或 4:5。
  2. 我該如何擷取應用程式畫面?(a) 我在本機執行它,(b) 你給我一個 URL(建議使用暫存環境),(c) 你傳送螢幕截圖/錄影給我。
  3. 測試登入:如果應用程式有驗證功能,請提供一個測試帳號,或允許我在本機建立一個。絕對不能使用他們的真實帳號。
  4. 呼籲行動 + 連結(註冊、GitHub、預約示範、加入等候清單)。
  5. 品牌:確認偵測到的標誌與色彩,或提供它們。
  6. 任何絕對不能出現在畫面中的內容。
  7. 音訊:提供以下三種選項,並先提出你的建議(請參閱下方的「選擇音訊」):
    • 僅音樂 + 音效(預設)
    • AI 語音旁白 + 字幕:免費、在他們機器上離線生成、無需帳號。語音:Norman(美式男性)或 Cori(英式女性)。提供傳送兩者的簡短樣本,供他們在選擇前聆聽。
    • 他們自己錄製的聲音

在此處停止並等待回答。 在開發者回覆之前,即使請求聽起來像是「直接做就對了」也不要安裝、執行、擷取或渲染任何東西。這些問題就是產品:建立在猜測之上的影片只會浪費他們的時間。唯一的例外是沒有任何人可以回答的執行(排程或背景任務):這時請使用你草擬的簡報、4 個最具視覺效果的功能、16:9 格式與僅音樂,並在開頭說明你做了哪些假設。

步驟 4:讓應用程式執行

請遵循 references/running-the-app.md。簡而言之:

  • 路徑 (a):使用偵測到的指令安裝,在背景啟動開發伺服器,等待連接埠。如果需要環境變數但 .env 檔案不存在,列出變數名稱並請開發者建立它。如果存在 docker compose,則使用它啟動資料庫。使用儲存庫的種子腳本來填入示範資料(僅限本機資料庫)。讓應用程式看起來已被使用過:一個空蕩蕩的應用程式會讓示範影片看起來很糟。
  • 對路徑 (a) 給予兩次誠實的嘗試。如果仍然無法啟動,用一兩句話解釋阻礙,然後切換到路徑 (b) 或 (c)。不要花太多時間在上面。
  • 路徑 (c):開發者的檔案放入 public/assets/shots/ 中;支援 .png、.jpg、.mp4 與 .webm 格式。

步驟 5:擷取

撰寫鏡頭清單 shots/<app-slug>.json(格式請參閱 references/capture-guide.md,範例請見 shots/example.json):

  • device:對於 16:9/1:1/4:5 格式,使用 desktop。對於 9:16 格式,如果應用程式具有響應式設計(先檢查一張行動版螢幕截圖),則使用 mobile;否則使用 desktop 並依賴縮放。
  • 每個挑選的功能一個鏡頭。為每個鏡頭提供一個 focus 選擇器:指向一個小元素(一張卡片、一個按鈕、一個圖表),而不是整個頁面區段,這樣鏡頭才有東西可以縮放進入。
  • 對 1–2 個更適合以動態方式呈現的流程(打字、建立、拖曳)使用 record: true。每個錄影的動作時間保持在 ~8 秒以下。
  • setup 包含使用測試帳號的登入步驟;hide 包含用於敏感文字的選擇器。
node scripts/capture.mjs shots/<app-slug>.json

開啟每一張 PNG 並仔細檢查。 如果發現以下情況,請重新擷取(使用 --only <shot>):空白狀態、載入轉圈圈、錯誤通知、開發模式覆蓋層(例如 Next.js 錯誤徽章)、Cookie 橫幅、『lorem ipsum』文字,或任何未經模糊處理的個人資訊。資訊清單 (public/assets/shots/manifest.json) 會提供每個鏡頭的圖片、影片、大小、剪輯長度與焦點區域,供簡報使用。

步驟 6:故事板 → 核准

閱讀 references/pitch-and-story.md。預設結構:

鉤子 → (問題) → 介紹『認識 』 → 3–5 個功能場景 → 為何與眾不同(優勢) → (蒙太奇) → 呼籲行動

長度:橫向 30–60 秒,直向 20–40 秒。以簡短的編號清單形式呈現故事板(場景、螢幕文字、使用的鏡頭,以及如果他們選擇語音旁白時的台詞),並在渲染前獲得同意,除非開發者說直接進行。

步驟 7:簡報、預覽、渲染

撰寫 briefs/<app-slug>.json(參考:references/brief-schema.md)。從資訊清單中複製 media、video、width、height、focus 與 clipSeconds。對感覺太慢的片段使用 speed: 1.3–1.8。在橫向格式中,每隔一個功能交替使用 `

Individual skills in this repo

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

相關技能