Community程式設計與開發github.com

mastra-ai/mastra-demo-skill

使用瀏覽器自動化、ElevenLabs 語音和 Remotion 合成技術,建立專業產品展示影片的技能。

mastra-demo-skill 是什麼?

此 Mastra Demo Skill 專門設計用於協助開發者與 AI 代理快速創建專業級的產品展示影片。它整合了三大核心功能:透過 claude-in-chrome MCP 進行瀏覽器自動化以錄製 GIF、使用 ElevenLabs API 產生高品質語音旁白,以及利用 Remotion 框架合成最終影片。支援的平台包括 Claude Code、Cursor 和 Codex 等開發工具。使用者可以透過一系列命令(如 `/mastra-demo:init` 初始化專案、`/mastra-demo:record` 錄製片段、`/mastra-demo:compose` 合成影片)來管理整個工作流程。此技能特別強調敘事流暢性,透過結構化的 `DEMO_SCRIPT.md` 檔案定義腳本段落、瀏覽器操作與語音設定,確保最終影片能講述一個連貫的故事,而非零散的畫面組合。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add mastra-ai/mastra-demo-skill

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

Mastra Demo Skill

透過結合下列工具,建立專業產品展示影片:

  • 瀏覽器自動化,用於錄製 GIF(透過 claude-in-chrome MCP)
  • ElevenLabs 語音旁白生成
  • Remotion 影片合成

指令

指令用途
/mastra-demo:init <name>從範本建立新的展示專案
/mastra-demo:script產生或驗證 DEMO_SCRIPT.md
/mastra-demo:record將瀏覽器操作錄製為 GIF
/mastra-demo:audio透過 ElevenLabs 產生語音旁白
/mastra-demo:compose建置 Remotion 合成
/mastra-demo:render匯出最終影片
/mastra-demo:status顯示進度與下一步

快速開始

# 1. 建立新的展示專案
/mastra-demo:init my-awesome-demo

# 2. 編輯 DEMO_SCRIPT.md 加入內容(或互動式生成)
/mastra-demo:script

# 3. 為每個段落錄製瀏覽器 GIF
/mastra-demo:record

# 4. 產生語音旁白
/mastra-demo:audio

# 5. 建置影片合成
/mastra-demo:compose

# 6. 渲染最終影片
/mastra-demo:render

先決條件

  • claude-in-chrome MCP:用於錄製 GIF 的瀏覽器自動化擴充功能
  • ElevenLabs API 金鑰:用於產生語音旁白
  • Node.js 18+:用於 Remotion
  • ffprobe:用於偵測音訊長度(隨 ffmpeg 附帶)

專案結構

此技能建立的展示專案具備下列結構:

my-demo/
├── .env                    # ELEVENLABS_API_KEY
├── .mastra-demo-state.json # 執行狀態
├── DEMO_SCRIPT.md          # 包含段落的腳本
├── package.json            # Remotion 相依套件
├── public/                 # 素材(GIF、音訊)
│   ├── segment-01.gif
│   ├── segment-01.mp3
│   └── ...
├── out/                    # 渲染輸出
│   └── demo.mp4
└── src/
    ├── Root.tsx
    ├── DemoVideo.tsx
    └── scenes/

腳本格式

DEMO_SCRIPT.md 定義你的展示內容:

# Demo: Feature Name

## 敘事
先將完整故事以連貫的散文寫出。
這麼做能確保段落間的自然流暢。

## 設定
fps: 30
voice: Daniel

## 標題
text: "功能名稱"
subtitle: "標語"
duration: 5s

## 段落

### segment-01-intro
url: http://localhost:4111
voiceover: |
  這是開場旁白,需與上述敘事自然銜接。
actions:
  - navigate: http://localhost:4111
  - wait: 2s
  - find: "登入按鈕"
  - click: found element

## 結尾
heading: "開始使用"
command: "npx create-mastra@latest"
links:
  - mastra.ai/docs

敘事流暢度

優質展示的關鍵在於 敘事流暢度。儘管我們會分別錄製個別的 GIF 與音訊段落,旁白仍須講述一個連貫的故事。

良好的轉折範例:

  • 「現在我們已登入…」
  • 「接下來就是有趣的地方…」
  • 「回到 Mastra Studio,差異立刻顯現…」

不良的設計模式:

  • 段落開始時缺乏上下文
  • 逐條列舉式的旁白
  • 段落之間缺乏連結

瀏覽器操作

可供錄製的操作:

操作格式範例
導航navigate: <url>navigate: http://localhost:4111
等待wait: <time>wait: 2s
尋找find: "<query>"find: "登入按鈕"
點擊click: <target>click: found element
輸入type: "<text>"type: "哈囉 世界"
滾動scroll: <dir>scroll: down

語音設定

建議用於專業展示的 ElevenLabs 設定:

  • 語音:Daniel、Brian、George 或 Chris
  • 模型:eleven_multilingual_v2
  • 穩定性:0.5
  • 相似度提升:0.75

參考資料

詳細文件請見:

  • references/script-format-reference.md - 完整的 DEMO_SCRIPT.md 格式
  • references/gif-recording-reference.md - 瀏覽器自動化模式
  • references/audio-generation-reference.md - ElevenLabs 整合

範本

templates/ 目錄包含 Remotion 專案檔案:

  • 場景的 React 元件(標題、展示 GIF、結尾)
  • 瀏覽器框架元件
  • 音訊生成腳本
  • 套件設定

相關技能