Communitygithub.com

taufiquebuilds/readmereel

將程式碼儲存庫的 README 轉換成 25 秒的啟動影片、16:9 的 MP4 格式影片、以及 9:16 的直式影片和 GIF,所有渲染皆在本機使用 HyperFrames 免費完成。

readmereel 是什麼?

此技能可自動將任何程式碼儲存庫轉換為行銷級別的啟動影片。它會分析 README 和專案清單,提取產品名稱、痛點、承諾、功能亮點、安裝指令和品牌資產等關鍵資訊。接著,它會建立一個結構化的 JSON 腳本 (`story.json`),並使用本機的 HyperFrames 渲染引擎,產生一個 16:9 的橫式 MP4 影片(適合 README、Product Hunt)和一個 9:16 的直式 MP4 影片(適合 X、LinkedIn、Reels、TikTok),以及一個靜態 GIF。此技能支援所有具有 README 的 Git 儲存庫,並在 macOS、Linux 和 Windows 上運作(需要 Node.js 22+ 和 ffmpeg)。它遵循嚴格的文字長度限制和寫作風格規則(避免誇張用語、表情符號和驚嘆號),並在渲染前要求使用者確認場景,以確保最終輸出既實用又美觀。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/taufiquebuilds/readmereel/tree/HEAD/skills/readmereel

在你喜歡的 AI 中提問

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

預覽

來自技能 README

<名稱> 啟動影片

說明文件

readmereel 是做什麼的?

您可以將所在的儲存庫轉換為一個簡短的啟動影片。您負責撰寫文案;由腳本負責渲染影片。切勿編寫動畫程式碼:場景皆為固定範本。

1. 閱讀儲存庫

首先閱讀 README,然後閱讀套件清單(package.json、pyproject.toml、Cargo.toml、go.mod)、docs 資料夾以及儲存庫中的圖片檔案。尋找以下內容:

  • 該專案的名稱以及一行摘要說明其功能
  • 它以使用者的角度,解決了什麼痛點
  • 它為使用者提供的三項功能
  • 使用者首先執行的指令(安裝或快速開始)
  • 真實的螢幕截圖或圖表(docs/、assets/、.github/、images/、screenshots/,或是 README 中指向儲存庫內檔案的圖片連結)
  • 一個標誌(PNG 或 SVG)和一個品牌顏色(從標誌、README 徽章或 CSS 中取得)
  • GitHub 網址(從 git remote get-url origin 取得),以及如果 gh 指令可用的話,取得星星數:gh repo view --json stargazerCount -q .stargazerCount

2. 編寫 launch-video/story.json

在儲存庫根目錄建立 launch-video/ 資料夾,並編寫 launch-video/story.json。路徑皆相對於儲存庫根目錄。各欄位及其腳本強制執行的字數限制如下:

欄位限制如何編寫
name24 個字元完全按照 README 中使用的產品名稱
problem70 個字元使用者的痛點,而非產品本身:「每個 AI 簡報看起來都一樣」。目標約 6-9 個詞,方便觀眾閱讀
promise60 個字元使用者獲得的成果:「看起來像人設計的投影片」。約 6-9 個詞
features正好 3 個每個包含 { "title", "detail", "image" }
feature title40 個字元一種結果,而非元件名稱:「永遠不會重複發送同一月份」
feature detail80 個字元一句關於如何或為何的簡單句子,約 12 個詞
feature image可選儲存庫中展示此功能的真實螢幕截圖路徑:PNG、JPG、WebP 或 SVG。動畫 GIF 只會顯示單一幀,不接受影片檔案。偏好文字夠大、在小尺寸下也可讀取的圖片;跳過大部分空白或無法閱讀的圖片。如果沒有,則省略此欄位。切勿製作或取得圖片。
install48 個字元一個指令、一行,完全按照 README 中的寫法;如果較長,請使用最短的真實第一個指令。切勿使用像 <your-username> 這樣的佔位符:請使用 README 本身使用的真實範例值,例如 repoheat dashboard --user ratatui
url60 個字元github.com/owner/repo:不要 https://,不要 .git。將 git remote 的輸出(例如 [email protected]:o/r.git 或 https://github.com/o/r.git)轉換為 github.com/o/r
stars星星數,或 null。僅在星星數大於等於 10 時顯示
logo可選PNG 或 SVG 標誌的路徑
accent十六進位顏色,如 #0f766e;品牌顏色,否則省略
music可選僅在使用者提供音訊檔案(mp3、m4a、wav 或 ogg)時使用
endCard省略(為 true)。僅在使用者要求不要顯示「made with readmereel」字樣時設為 false

範例:

{
  "name": "agencyrecap",
  "problem": "手動製作並寄送每月客戶報告",
  "promise": "每月客戶報告會自動寄送",
  "features": [
    { "title": "每月品牌 PDF", "detail": "您的標誌和顏色,在您選定的日期以電子郵件寄送給每位客戶", "image": "docs/images/report-page-2.png" },
    { "title": "單一儀表板", "detail": "查看哪些報告已寄出,並一鍵重新寄送", "image": "docs/images/dashboard.png" },
    { "title": "從不重複寄送", "detail": "當 Google 或電子郵件失敗時,會保留並重試,然後通知您" }
  ],
  "install": "docker compose up -d",
  "url": "github.com/taufiquebuilds/agencyrecap",
  "stars": null,
  "accent": "#0f766e"
}

任何不在這個表格中的欄位都會被拒絕,因此拼寫錯誤會被捕捉到。複製規則:使用簡短詞彙,不使用誇飾用語(「革命性的」、「增強」、「無縫」、「解鎖」),不使用表情符號,不使用驚嘆號,使用句子大小寫,數字使用阿拉伯數字。每個聲明都必須是儲存庫所展示的內容。

3. 向使用者展示場景並等待

在渲染之前,將六個場景以編號列表方式顯示,並詢問「ok」或進行修改:

  1. 鉤子(3 秒):problem
  2. 標題(3 秒):name、promise
  3. 功能 1(4 秒):標題、詳細說明、圖片檔案或「文字卡片」
  4. 功能 2(4 秒):同上
  5. 功能 3(4 秒):同上
  6. 安裝 + 星星(7 秒):install、「在 GitHub 上星標」、url

4. 渲染

scripts/render.mjs 位於包含此 SKILL.md 的資料夾中。計算其絕對路徑,並從儲存庫根目錄執行以下指令:

node <此技能資料夾的絕對路徑>/scripts/render.mjs launch-video/story.json

它需要 Node.js 22+ 和 ffmpeg,如果缺少會提示如何安裝。每次執行都需要網路連線:npm(HyperFrames)、一次性 Chrome 下載、Google Fonts 和 GSAP CDN。渲染需要 3-10 分鐘,因此請以至少 15 分鐘的超時時間執行此指令,或在背景執行並等待其完成。如果沙箱阻擋了網路,請要求使用者允許網路連線,或將上述確切指令提供給他們,並請他們自行執行。

當使用者只想快速查看時,加上 --draft 參數可以進行更快、較低品質的渲染。

如果它輸出了故事問題或排版問題,請修正 story.json(縮短具名的文字)並再次執行。如果渲染失敗,請閱讀 launch-video/render.log 的結尾部分。

5. 移交

告知使用者所產生的檔案:

  • launch-video/video-16x9.mp4:適用於 README、Product Hunt、Show HN、YouTube
  • launch-video/video-9x16.mp4:適用於 X、LinkedIn、Instagram Reels、TikTok
  • launch-video/video.gif:使用 ![<名稱> 啟動影片](launch-video/video.gif) 貼在 README 頂端
  • launch-video/wide/ 和 launch-video/tall/:可編輯的 HyperFrames 專案。每次執行都會重建,因此在 HyperFrames Studio 中編輯前,請先複製一份到其他地方(cd launch-video/wide && npx --yes [email protected] preview)

將您執行過(包含其 launch-video/story.json 路徑)的完整絕對指令提供給使用者,以便他們可以在沒有代理程式的情況下重新渲染。之後若要修改文字,他們可以編輯 story.json 並再次執行相同的指令。建議將 launch-video/wide/、launch-video/tall/ 和 launch-video/render.log 加入 .gitignore。如果沒有任何功能有真實圖片,請說明將螢幕截圖加入儲存庫可以讓影片更有說服力。

相關技能