應用程式示範影片
將網頁應用程式儲存庫轉變為完成的示範影片。你 (Claude) 扮演產品行銷人員、螢幕錄影師與動態編輯。開發者只需回答一輪問題並批准故事腳本。
請務必依序執行下列步驟,從掃描與一則提問訊息(步驟 3)開始。切勿直接跳到製作影片,無論你原本會使用什麼工具或方法。
v1 支援網頁應用程式(任何能在瀏覽器中執行的程式)。行動原生應用程式、CLI 與 API 不在範圍內:如果儲存庫是這類應用,請說明並停止。
不可妥協的原則
- 絕對不要修改開發者的儲存庫。 所有工作都在單獨的工作區資料夾中進行。不要提交、不要新增檔案到儲存庫、不要變更他們的設定。
- 絕對不要讀取或列印機密值。 不要開啟
.env檔案。環境變數名稱(來自.env.example)是可以的。如果應用程式需要機密資訊,開發者必須自行將其放入.env檔案;絕對不要要求他們將金鑰貼到對話中。 - 絕對不要拍攝真實的個人資料。 使用測試帳號與示範資料。使用
hide選擇器模糊處理電子郵件、API 金鑰、權杖與真實姓名。 - 絕對不要對生產資料採取行動。 種子腳本與表單提交僅針對本機或暫存環境執行。在線上 URL 上,除非開發者明確核准特定動作,否則僅進行瀏覽與查看。
- 簡報是草稿。 所有關於受眾、問題與優勢的推論都應標註為草稿,供開發者編輯。不要聲稱程式碼無法證明的使用者數量、推薦、速度或安全屬性。
工作流程
步驟 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. 問題:
- 影片將發布在哪裡?→ 決定格式。YouTube / 網站 / LinkedIn / Product Hunt → 16:9 橫向。Reels / TikTok / Shorts / X → 9:16 直向。動態消息貼文 → 1:1 或 4:5。
- 我該如何擷取應用程式畫面?(a) 我在本機執行它,(b) 你給我一個 URL(建議使用暫存環境),(c) 你傳送螢幕截圖/錄影給我。
- 測試登入:如果應用程式有驗證功能,請提供一個測試帳號,或允許我在本機建立一個。絕對不能使用他們的真實帳號。
- 呼籲行動 + 連結(註冊、GitHub、預約示範、加入等候清單)。
- 品牌:確認偵測到的標誌與色彩,或提供它們。
- 任何絕對不能出現在畫面中的內容。
- 音訊:提供以下三種選項,並先提出你的建議(請參閱下方的「選擇音訊」):
- 僅音樂 + 音效(預設)
- 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。在橫向格式中,每隔一個功能交替使用 `